00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00056
00057 #if !defined(MQTTCLIENTPERSISTENCE_H)
00058 #define MQTTCLIENTPERSISTENCE_H
00060
00061
00065 #define MQTTCLIENT_PERSISTENCE_DEFAULT 0
00066
00070 #define MQTTCLIENT_PERSISTENCE_NONE 1
00071
00075 #define MQTTCLIENT_PERSISTENCE_USER 2
00076
00081 #define MQTTCLIENT_PERSISTENCE_ERROR -2
00082
00109 typedef int (*Persistence_open)(void** handle, const char* clientID, const char* serverURI, void* context);
00110
00119 typedef int (*Persistence_close)(void* handle);
00120
00136 typedef int (*Persistence_put)(void* handle, char* key, int bufcount, char* buffers[], int buflens[]);
00137
00152 typedef int (*Persistence_get)(void* handle, char* key, char** buffer, int* buflen);
00153
00165 typedef int (*Persistence_remove)(void* handle, char* key);
00166
00182 typedef int (*Persistence_keys)(void* handle, char*** keys, int* nkeys);
00183
00193 typedef int (*Persistence_clear)(void* handle);
00194
00204 typedef int (*Persistence_containskey)(void* handle, char* key);
00205
00211 typedef struct {
00215 void* context;
00219 Persistence_open popen;
00223 Persistence_close pclose;
00227 Persistence_put pput;
00231 Persistence_get pget;
00235 Persistence_remove premove;
00239 Persistence_keys pkeys;
00243 Persistence_clear pclear;
00247 Persistence_containskey pcontainskey;
00248 } MQTTClient_persistence;
00249
00250 #endif