1#ifndef SMQTTMESSAGE_FILE
2#define SMQTTMESSAGE_FILE
7#if (__cplusplus >= 201703L)
8#define MAYBE_UNUSED [[maybe_unused]]
16 sMQTTNowhereToSend = 1,
17 sMQTTInvalidMessage = 2,
20MAYBE_UNUSED
static const char *debugMessageType[] = {
72 void incoming(
char byte);
73 void add(
char byte) { incoming(
byte); }
74 void add(
const char* p,
size_t len,
bool addLength =
true)
78 buffer.reserve(buffer.size() + len + 2);
82 while (len--) incoming(*p++);
84 void add(
const std::string &str) { add(str.c_str(), str.size()); }
85 const char* end()
const {
return &buffer[0] + buffer.size(); }
86 const char* getVHeader()
const {
return &buffer[vheader]; }
90 return state == Complete ?
static_cast<Type
>(buffer[0] & 0XF0) : Unknown;
93 return (buffer[0] & 0x6)>>1;
96 return buffer[0] & 0x1;
98 sMQTTError sendTo(
sMQTTClient *,
bool needRecalc=
true);
101 static void getString(
const char* &buff,
unsigned short &len);
103 void create(Type type)
105 buffer.push_back((
char)type);
106 buffer.push_back(
'\0');
111 int encodeLength(
char* msb,
int length)
const;
113 std::vector<char> buffer;
115 unsigned short multiplyer;
117 unsigned char vheader;
Main Client class.
Definition: sMQTTClient.h:22
Definition: sMQTTMessage.h:40