Paho Asynchronous MQTT C Client Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MQTTClientPersistence.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (c) 2009, 2012 IBM Corp.
3  *
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * and Eclipse Distribution License v1.0 which accompany this distribution.
7  *
8  * The Eclipse Public License is available at
9  * http://www.eclipse.org/legal/epl-v10.html
10  * and the Eclipse Distribution License is available at
11  * http://www.eclipse.org/org/documents/edl-v10.php.
12  *
13  * Contributors:
14  * Ian Craggs - initial API and implementation and/or initial documentation
15  *******************************************************************************/
16 
56 #if !defined(MQTTCLIENTPERSISTENCE_H)
58 #define MQTTCLIENTPERSISTENCE_H
59 
65 #define MQTTCLIENT_PERSISTENCE_DEFAULT 0
66 
70 #define MQTTCLIENT_PERSISTENCE_NONE 1
71 
75 #define MQTTCLIENT_PERSISTENCE_USER 2
76 
81 #define MQTTCLIENT_PERSISTENCE_ERROR -2
82 
109 typedef int (*Persistence_open)(void** handle, const char* clientID, const char* serverURI, void* context);
110 
119 typedef int (*Persistence_close)(void* handle);
120 
136 typedef int (*Persistence_put)(void* handle, char* key, int bufcount, char* buffers[], int buflens[]);
137 
152 typedef int (*Persistence_get)(void* handle, char* key, char** buffer, int* buflen);
153 
165 typedef int (*Persistence_remove)(void* handle, char* key);
166 
182 typedef int (*Persistence_keys)(void* handle, char*** keys, int* nkeys);
183 
193 typedef int (*Persistence_clear)(void* handle);
194 
204 typedef int (*Persistence_containskey)(void* handle, char* key);
205 
211 typedef struct {
215  void* context;
249 
250 #endif
int(* Persistence_containskey)(void *handle, char *key)
Returns whether any data has been persisted using the specified key.
Definition: MQTTClientPersistence.h:204
int(* Persistence_get)(void *handle, char *key, char **buffer, int *buflen)
Retrieve the specified data from the persistent store.
Definition: MQTTClientPersistence.h:152
Persistence_containskey pcontainskey
Definition: MQTTClientPersistence.h:247
Persistence_put pput
Definition: MQTTClientPersistence.h:227
Persistence_remove premove
Definition: MQTTClientPersistence.h:235
Persistence_clear pclear
Definition: MQTTClientPersistence.h:243
Persistence_get pget
Definition: MQTTClientPersistence.h:231
int(* Persistence_close)(void *handle)
Close the persistent store referred to by the handle.
Definition: MQTTClientPersistence.h:119
int(* Persistence_keys)(void *handle, char ***keys, int *nkeys)
Returns the keys in this persistent data store.
Definition: MQTTClientPersistence.h:182
Persistence_open popen
Definition: MQTTClientPersistence.h:219
Persistence_close pclose
Definition: MQTTClientPersistence.h:223
int(* Persistence_open)(void **handle, const char *clientID, const char *serverURI, void *context)
Initialize the persistent store.
Definition: MQTTClientPersistence.h:109
void * context
Definition: MQTTClientPersistence.h:215
Persistence_keys pkeys
Definition: MQTTClientPersistence.h:239
int(* Persistence_put)(void *handle, char *key, int bufcount, char *buffers[], int buflens[])
Put the specified data into the persistent store.
Definition: MQTTClientPersistence.h:136
int(* Persistence_remove)(void *handle, char *key)
Remove the data for the specified key from the store.
Definition: MQTTClientPersistence.h:165
int(* Persistence_clear)(void *handle)
Clears the persistence store, so that it no longer contains any persisted data.
Definition: MQTTClientPersistence.h:193
A structure containing the function pointers to a persistence implementation and the context or state...
Definition: MQTTClientPersistence.h:211