24#ifndef __mqtt_iclient_persistence_h
25#define __mqtt_iclient_persistence_h
75 static int persistence_open(
76 void** handle,
const char* clientID,
const char* serverURI,
void* context
78 static int persistence_close(
void* handle);
79 static int persistence_put(
80 void* handle,
char* key,
int bufcount,
char* buffers[],
int buflens[]
82 static int persistence_get(
void* handle,
char* key,
char** buffer,
int* buflen);
83 static int persistence_remove(
void* handle,
char* key);
84 static int persistence_keys(
void* handle,
char***
keys,
int* nkeys);
85 static int persistence_clear(
void* handle);
86 static int persistence_containskey(
void* handle,
char* key);
90 using ptr_t = std::shared_ptr<iclient_persistence>;
92 using const_ptr_t = std::shared_ptr<const iclient_persistence>;
105 virtual void open(
const string& clientId,
const string& serverURI) = 0;
130 virtual void put(
const string& key,
const std::vector<string_view>& bufs) = 0;
136 virtual string get(
const string& key)
const = 0;
141 virtual void remove(
const string& key) = 0;
Definition async_client.h:121
Definition iclient_persistence.h:70
virtual void open(const string &clientId, const string &serverURI)=0
std::shared_ptr< const iclient_persistence > const_ptr_t
Definition iclient_persistence.h:92
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:90
virtual void put(const string &key, const std::vector< string_view > &bufs)=0
virtual ~iclient_persistence()
Definition iclient_persistence.h:97
virtual string_collection keys() const =0
friend class mock_persistence
Definition iclient_persistence.h:72
virtual void remove(const string &key)=0
Definition string_collection.h:45
Definition async_client.h:60
iclient_persistence::ptr_t iclient_persistence_ptr
Definition iclient_persistence.h:145
void persistence_free(void *p)
Definition iclient_persistence.h:48
void * persistence_malloc(size_t n)
Definition iclient_persistence.h:42
iclient_persistence::const_ptr_t const_iclient_persistence_ptr
Definition iclient_persistence.h:148