24#ifndef __mqtt_iclient_persistence_h
25#define __mqtt_iclient_persistence_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;
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;
Definition async_client.h:108
Definition iclient_persistence.h:73
virtual void open(const string &clientId, const string &serverURI)=0
std::shared_ptr< const iclient_persistence > const_ptr_t
Definition iclient_persistence.h:91
virtual string get(const string &key) const =0
virtual bool contains_key(const string &key)=0
std::shared_ptr< iclient_persistence > ptr_t
Definition iclient_persistence.h:89
virtual void put(const string &key, const std::vector< string_view > &bufs)=0
virtual ~iclient_persistence()
Definition iclient_persistence.h:96
virtual string_collection keys() const =0
friend class mock_persistence
Definition iclient_persistence.h:75
virtual void remove(const string &key)=0
Definition string_collection.h:43
Definition async_client.h:49
iclient_persistence::ptr_t iclient_persistence_ptr
Definition iclient_persistence.h:144
void persistence_free(void *p)
Definition iclient_persistence.h:49
void * persistence_malloc(size_t n)
Definition iclient_persistence.h:41
iclient_persistence::const_ptr_t const_iclient_persistence_ptr
Definition iclient_persistence.h:147