1 #ifndef SMQTTMESSAGE_FILE
2 #define SMQTTMESSAGE_FILE
10 sMQTTNowhereToSend = 1,
11 sMQTTInvalidMessage = 2,
14 static const char *debugMessageType[] = {
66 void incoming(
char byte);
67 void add(
char byte) { incoming(
byte); }
68 void add(
const char* p,
size_t len,
bool addLength =
true)
72 buffer.reserve(buffer.size() + addLength + 2);
76 while (len--) incoming(*p++);
78 void add(
const std::string &str) { add(str.c_str(), str.size()); }
79 const char* end()
const {
return &buffer[0] + buffer.size(); }
80 const char* getVHeader()
const {
return &buffer[vheader]; }
84 return state == Complete ?
static_cast<Type
>(buffer[0] & 0XF0) : Unknown;
87 return (buffer[0] & 0x6)>>1;
90 return buffer[0] & 0x1;
92 sMQTTError sendTo(
sMQTTClient *,
bool needRecalc=
true);
95 static void getString(
const char* &buff,
unsigned short &len);
97 void create(Type type)
99 buffer.push_back((
char)type);
100 buffer.push_back(
'\0');
105 int encodeLength(
char* msb,
int length)
const;
107 std::vector<char> buffer;
109 unsigned short multiplyer;
111 unsigned char vheader;