00001 #pragma once 00002 00003 #include "Column.h" 00004 #include <vector> 00005 00006 using namespace std; 00007 00008 namespace mycq 00009 { 00011 class QueueSchema 00012 { 00013 public: 00017 virtual void addBoolean(string columnName) = 0; 00018 00022 virtual void addByte(string columnName) = 0; 00023 00027 virtual void addShort(string columnName) = 0; 00028 00032 virtual void addUShort(string columnName) = 0; 00033 00037 virtual void addInt(string columnName) = 0; 00038 00042 virtual void addLong(string columnName) = 0; 00043 00047 virtual void addFloat(string columnName) = 0; 00048 00052 virtual void addDouble(string columnName) = 0; 00053 00057 virtual void addDate(string columnName) = 0; 00058 00062 virtual void addTime(string columnName) = 0; 00063 00067 virtual void addDateTime(string columnName) = 0; 00068 00073 virtual void addString(string columnName, int size) = 0; 00074 00078 virtual void addVarString(string columnName) = 0; 00079 00084 virtual void addBinary(string columnName, int size) = 0; 00085 00089 virtual void addVarBinary(string columnName) = 0; 00090 00093 virtual vector<Column> getColumns() = 0; 00094 00096 virtual void clear() = 0; 00097 00100 virtual int getMessageSize() = 0; 00101 }; 00102 }