24 #ifndef __mqtt_iclient_persistence_h 25 #define __mqtt_iclient_persistence_h 27 #include "MQTTAsync.h" 42 return MQTTAsync_malloc(n);
78 static int persistence_open(
void** handle,
const char* clientID,
const char* serverURI,
void* context);
79 static int persistence_close(
void* handle);
80 static int persistence_put(
void* handle,
char* key,
int bufcount,
char* buffers[],
int buflens[]);
81 static int persistence_get(
void* handle,
char* key,
char** buffer,
int* buflen);
82 static int persistence_remove(
void* handle,
char* key);
83 static int persistence_keys(
void* handle,
char***
keys,
int* nkeys);
84 static int persistence_clear(
void* handle);
85 static int persistence_containskey(
void* handle,
char* key);
89 using ptr_t = std::shared_ptr<iclient_persistence>;
91 using const_ptr_t = std::shared_ptr<const iclient_persistence>;
104 virtual void open(
const string& clientId,
const string& serverURI) =0;
108 virtual void close() =0;
112 virtual void clear() =0;
129 virtual void put(
const string& key,
const std::vector<string_view>& bufs) =0;
135 virtual string get(
const string& key)
const =0;
140 virtual void remove(
const string& key) =0;
153 #endif // __mqtt_iclient_persistence_h Definition: async_client.h:107
Definition: iclient_persistence.h:72
virtual ~iclient_persistence()
Definition: iclient_persistence.h:96
std::shared_ptr< const iclient_persistence > const_ptr_t
Definition: iclient_persistence.h:91
std::shared_ptr< iclient_persistence > ptr_t
Definition: iclient_persistence.h:89
void * persistence_malloc(size_t n)
Definition: iclient_persistence.h:41
Definition: string_collection.h:42
virtual string_collection keys() const =0
virtual void open(const string &clientId, const string &serverURI)=0
iclient_persistence::const_ptr_t const_iclient_persistence_ptr
Definition: iclient_persistence.h:147
virtual void put(const string &key, const std::vector< string_view > &bufs)=0
void persistence_free(void *p)
Definition: iclient_persistence.h:49
friend class mock_persistence
Definition: iclient_persistence.h:75
virtual bool contains_key(const string &key)=0
iclient_persistence::ptr_t iclient_persistence_ptr
Definition: iclient_persistence.h:144
Definition: async_client.h:49