sMQTTBroker
sMQTTClient.h
1 #ifndef SMQTTCLIENT_FILE
2 #define SMQTTCLIENT_FILE
3 
4 #include<sMQTTMessage.h>
5 
6 class sMQTTBroker;
7 
8 #define sMQTTUserNameFlag 0x80
9 #define sMQTTPasswordFlag 0x40
10 #define sMQTTWillRetainFlag 0x20
11 #define sMQTTWillQoSFlag 0x18
12 #define sMQTTWillFlag 0x4
13 
14 #define sMQTTConnReturnAccepted 0x0
15 #define sMQTTConnReturnUnacceptableProtocolVersion 0x1
16 #define sMQTTConnReturnIdentifierRejected 0x2
17 #define sMQTTConnReturnServerUnavailable 0x3
18 #define sMQTTConnReturnBadUsernameOrPassword 0x4
19 
20 
22 {
23 public:
24  sMQTTClient(sMQTTBroker *parent, TCPClient &client);
25  ~sMQTTClient();
26 
27  void update();
28 
29  bool isConnected();
30  void write(const char* buf, size_t length);
31 
32  const std::string &getClientId() {
33  return clientId;
34  };
35 private:
36  void processMessage();
37  void updateLiveStatus();
38 
39  char mqtt_flags;
40  bool mqtt_connected;
41  std::string clientId;
42  unsigned short keepAlive;
43  unsigned long aliveMillis;
44 
45  sMQTTBroker *_parent;
46  TCPClient _client;
47  sMQTTMessage message;
48 };
49 
50 typedef std::vector<sMQTTClient*> sMQTTClientList;
51 #endif
sMQTTBroker
Definition: sMQTTBroker.h:13
sMQTTMessage
Definition: sMQTTMessage.h:34
sMQTTClient
Definition: sMQTTClient.h:22