diff --git a/docs/MQTTAsync/html/_h_t_t_p_proxies.html b/docs/MQTTAsync/html/_h_t_t_p_proxies.html index 5bf9475c..5dd442eb 100644 --- a/docs/MQTTAsync/html/_h_t_t_p_proxies.html +++ b/docs/MQTTAsync/html/_h_t_t_p_proxies.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: HTTP Proxies - - @@ -34,33 +32,22 @@ - + -
-
HTTP Proxies
+
HTTP Proxies

The use of HTTP proxies can be controlled by environment variables or API calls.

@@ -96,7 +83,7 @@ $(function(){ initResizable(false); });
diff --git a/docs/MQTTAsync/html/_m_q_t_t_async_8h.html b/docs/MQTTAsync/html/_m_q_t_t_async_8h.html index c9d9f330..59783986 100644 --- a/docs/MQTTAsync/html/_m_q_t_t_async_8h.html +++ b/docs/MQTTAsync/html/_m_q_t_t_async_8h.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync.h File Reference - - @@ -34,33 +32,22 @@
- + -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +

+

Data Structures

struct  MQTTAsync_init_options
 
struct  MQTTAsync_message
 
struct  MQTTAsync_connectData
 
struct  MQTTAsync_failureData
 
struct  MQTTAsync_failureData5
 
struct  MQTTAsync_successData
 
struct  MQTTAsync_successData5
 
struct  MQTTAsync_responseOptions
 
struct  MQTTAsync_createOptions
 
struct  MQTTAsync_willOptions
 
struct  MQTTAsync_SSLOptions
 
struct  MQTTAsync_nameValue
 
struct  MQTTAsync_connectOptions
 
struct  MQTTAsync_disconnectOptions
 
struct  MQTTAsync_init_options
struct  MQTTAsync_message
struct  MQTTAsync_connectData
struct  MQTTAsync_failureData
struct  MQTTAsync_failureData5
struct  MQTTAsync_successData
struct  MQTTAsync_successData5
struct  MQTTAsync_responseOptions
struct  MQTTAsync_createOptions
struct  MQTTAsync_willOptions
struct  MQTTAsync_SSLOptions
struct  MQTTAsync_nameValue
struct  MQTTAsync_connectOptions
struct  MQTTAsync_disconnectOptions
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

+

Macros

#define MQTTASYNC_SUCCESS   0
 
#define MQTTASYNC_FAILURE   -1
 
#define MQTTASYNC_PERSISTENCE_ERROR   -2
 
#define MQTTASYNC_DISCONNECTED   -3
 
#define MQTTASYNC_MAX_MESSAGES_INFLIGHT   -4
 
#define MQTTASYNC_BAD_UTF8_STRING   -5
 
#define MQTTASYNC_NULL_PARAMETER   -6
 
#define MQTTASYNC_TOPICNAME_TRUNCATED   -7
 
#define MQTTASYNC_BAD_STRUCTURE   -8
 
#define MQTTASYNC_BAD_QOS   -9
 
#define MQTTASYNC_NO_MORE_MSGIDS   -10
 
#define MQTTASYNC_OPERATION_INCOMPLETE   -11
 
#define MQTTASYNC_MAX_BUFFERED_MESSAGES   -12
 
#define MQTTASYNC_SSL_NOT_SUPPORTED   -13
 
#define MQTTASYNC_BAD_PROTOCOL   -14
 
#define MQTTASYNC_BAD_MQTT_OPTION   -15
 
#define MQTTASYNC_WRONG_MQTT_VERSION   -16
 
#define MQTTASYNC_0_LEN_WILL_TOPIC   -17
 
#define MQTTASYNC_COMMAND_IGNORED   -18
 
#define MQTTASYNC_MAX_BUFFERED   -19
 
#define MQTTVERSION_DEFAULT   0
 
#define MQTTVERSION_3_1   3
 
#define MQTTVERSION_3_1_1   4
 
#define MQTTVERSION_5   5
 
#define MQTT_BAD_SUBSCRIBE   0x80
 
#define MQTTAsync_init_options_initializer   { {'M', 'Q', 'T', 'G'}, 0, 0 }
 
#define MQTTAsync_message_initializer   { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer }
 
#define MQTTAsync_connectData_initializer   {{'M', 'Q', 'C', 'D'}, 0, NULL, {0, NULL}}
 
#define MQTTAsync_failureData5_initializer   {{'M', 'Q', 'F', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, 0, NULL, 0}
 
#define MQTTAsync_successData5_initializer   {{'M', 'Q', 'S', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, {.sub={0,0}}}
 
#define MQTTAsync_responseOptions_initializer   { {'M', 'Q', 'T', 'R'}, 1, NULL, NULL, 0, 0, NULL, NULL, MQTTProperties_initializer, MQTTSubscribe_options_initializer, 0, NULL}
 
#define MQTTAsync_callOptions_initializer   MQTTAsync_responseOptions_initializer
 
#define MQTTAsync_createOptions_initializer   { {'M', 'Q', 'C', 'O'}, 2, 0, 100, MQTTVERSION_DEFAULT, 0, 0, 1, 1}
 
#define MQTTAsync_createOptions_initializer5   { {'M', 'Q', 'C', 'O'}, 2, 0, 100, MQTTVERSION_5, 0, 0, 1, 1}
 
#define MQTTAsync_willOptions_initializer   { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, { 0, NULL } }
 
#define MQTT_SSL_VERSION_DEFAULT   0
 
#define MQTT_SSL_VERSION_TLS_1_0   1
 
#define MQTT_SSL_VERSION_TLS_1_1   2
 
#define MQTT_SSL_VERSION_TLS_1_2   3
 
#define MQTTAsync_SSLOptions_initializer   { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 }
 
#define MQTTAsync_connectOptions_initializer
 
#define MQTTAsync_connectOptions_initializer5
 
#define MQTTAsync_connectOptions_initializer_ws
 
#define MQTTAsync_connectOptions_initializer5_ws
 
#define MQTTAsync_disconnectOptions_initializer
 
#define MQTTAsync_disconnectOptions_initializer5
 
#define MQTTASYNC_TRUE   1
 
- - - - - - - - - - - - - - - -

+

Typedefs

typedef void * MQTTAsync
 
typedef int MQTTAsync_token
 
typedef int MQTTAsync_messageArrived(void *context, char *topicName, int topicLen, MQTTAsync_message *message)
 
typedef void MQTTAsync_deliveryComplete(void *context, MQTTAsync_token token)
 
typedef void MQTTAsync_connectionLost(void *context, char *cause)
 
typedef void MQTTAsync_connected(void *context, char *cause)
 
typedef void MQTTAsync_disconnected(void *context, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
 
typedef int MQTTAsync_updateConnectOptions(void *context, MQTTAsync_connectData *data)
 
typedef void MQTTAsync_onSuccess(void *context, MQTTAsync_successData *response)
 
typedef void MQTTAsync_onSuccess5(void *context, MQTTAsync_successData5 *response)
 
typedef void MQTTAsync_onFailure(void *context, MQTTAsync_failureData *response)
 
typedef void MQTTAsync_onFailure5(void *context, MQTTAsync_failureData5 *response)
 
typedef struct MQTTAsync_responseOptions MQTTAsync_responseOptions
 
typedef struct MQTTAsync_responseOptions MQTTAsync_callOptions
 
typedef void MQTTAsync_traceCallback(enum MQTTASYNC_TRACE_LEVELS level, char *message)
 
- , MQTTASYNC_TRACE_FATAL
} -

+

Enumerations

enum  MQTTASYNC_TRACE_LEVELS {
  MQTTASYNC_TRACE_MAXIMUM = 1 @@ -276,78 +187,44 @@ Enumerations
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

+

Functions

void MQTTAsync_global_init (MQTTAsync_init_options *inits)
 
int MQTTAsync_setDisconnected (MQTTAsync handle, void *context, MQTTAsync_disconnected *co)
 
int MQTTAsync_setUpdateConnectOptions (MQTTAsync handle, void *context, MQTTAsync_updateConnectOptions *co)
 
int MQTTAsync_setBeforePersistenceWrite (MQTTAsync handle, void *context, MQTTPersistence_beforeWrite *co)
 
int MQTTAsync_setAfterPersistenceRead (MQTTAsync handle, void *context, MQTTPersistence_afterRead *co)
 
int MQTTAsync_setCallbacks (MQTTAsync handle, void *context, MQTTAsync_connectionLost *cl, MQTTAsync_messageArrived *ma, MQTTAsync_deliveryComplete *dc)
 
int MQTTAsync_setConnectionLostCallback (MQTTAsync handle, void *context, MQTTAsync_connectionLost *cl)
 
int MQTTAsync_setMessageArrivedCallback (MQTTAsync handle, void *context, MQTTAsync_messageArrived *ma)
 
int MQTTAsync_setDeliveryCompleteCallback (MQTTAsync handle, void *context, MQTTAsync_deliveryComplete *dc)
 
int MQTTAsync_setConnected (MQTTAsync handle, void *context, MQTTAsync_connected *co)
 
int MQTTAsync_reconnect (MQTTAsync handle)
 
int MQTTAsync_create (MQTTAsync *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context)
 
int MQTTAsync_createWithOptions (MQTTAsync *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context, MQTTAsync_createOptions *options)
 
int MQTTAsync_connect (MQTTAsync handle, const MQTTAsync_connectOptions *options)
 
int MQTTAsync_disconnect (MQTTAsync handle, const MQTTAsync_disconnectOptions *options)
 
int MQTTAsync_isConnected (MQTTAsync handle)
 
int MQTTAsync_subscribe (MQTTAsync handle, const char *topic, int qos, MQTTAsync_responseOptions *response)
 
int MQTTAsync_subscribeMany (MQTTAsync handle, int count, char *const *topic, const int *qos, MQTTAsync_responseOptions *response)
 
int MQTTAsync_unsubscribe (MQTTAsync handle, const char *topic, MQTTAsync_responseOptions *response)
 
int MQTTAsync_unsubscribeMany (MQTTAsync handle, int count, char *const *topic, MQTTAsync_responseOptions *response)
 
int MQTTAsync_send (MQTTAsync handle, const char *destinationName, int payloadlen, const void *payload, int qos, int retained, MQTTAsync_responseOptions *response)
 
int MQTTAsync_sendMessage (MQTTAsync handle, const char *destinationName, const MQTTAsync_message *msg, MQTTAsync_responseOptions *response)
 
int MQTTAsync_getPendingTokens (MQTTAsync handle, MQTTAsync_token **tokens)
 
int MQTTAsync_isComplete (MQTTAsync handle, MQTTAsync_token token)
 
int MQTTAsync_waitForCompletion (MQTTAsync handle, MQTTAsync_token token, unsigned long timeout)
 
void MQTTAsync_freeMessage (MQTTAsync_message **msg)
 
void MQTTAsync_free (void *ptr)
 
void * MQTTAsync_malloc (size_t size)
 
void MQTTAsync_destroy (MQTTAsync *handle)
 
void MQTTAsync_setTraceLevel (enum MQTTASYNC_TRACE_LEVELS level)
 
void MQTTAsync_setTraceCallback (MQTTAsync_traceCallback *callback)
 
MQTTAsync_nameValueMQTTAsync_getVersionInfo (void)
 
const char * MQTTAsync_strerror (int code)
 
-

Macro Definition Documentation

+

Macro Definition Documentation

◆ MQTTASYNC_SUCCESS

@@ -570,11 +447,11 @@ Functions

Return code: protocol prefix in serverURI should be:

  • tcp:// or mqtt:// - Insecure TCP
  • -
  • ssl:// or mqtts:// - Encrypted SSL/TLS
  • +
  • ssl:// or tls:// or mqtts:// - Encrypted SSL/TLS
  • ws:// - Insecure websockets
  • wss:// - Secure web sockets
-

The TLS enabled prefixes (ssl, mqtts, wss) are only valid if the TLS version of the library is linked with.

+

The TLS enabled prefixes (ssl, tls, mqtts, wss) are only valid if the TLS version of the library is linked with.

@@ -1063,7 +940,7 @@ Functions
-

Typedef Documentation

+

Typedef Documentation

◆ MQTTAsync

@@ -1370,7 +1247,7 @@ Functions -

Enumeration Type Documentation

+

Enumeration Type Documentation

◆ MQTTASYNC_TRACE_LEVELS

@@ -1394,7 +1271,7 @@ Functions -

Function Documentation

+

Function Documentation

◆ MQTTAsync_global_init()

@@ -1413,7 +1290,7 @@ Functions -extern +extern
@@ -1448,7 +1325,7 @@ Functions -extern +extern
@@ -1496,7 +1373,7 @@ Functions -extern +extern
@@ -1538,7 +1415,7 @@ Functions -extern +extern
@@ -1580,7 +1457,7 @@ Functions -extern +extern
@@ -1632,7 +1509,7 @@ Functions -extern +extern
@@ -1678,7 +1555,7 @@ Functions -extern +extern
@@ -1722,7 +1599,7 @@ Functions -extern +extern
@@ -1766,7 +1643,7 @@ Functions -extern +extern
@@ -1810,7 +1687,7 @@ Functions -extern +extern
@@ -1844,7 +1721,7 @@ Functions -extern +extern
@@ -1895,7 +1772,7 @@ Functions -extern +extern
@@ -1963,7 +1840,7 @@ Functions -extern +extern
@@ -1992,7 +1869,7 @@ Functions -extern +extern
@@ -2037,7 +1914,7 @@ Functions -extern +extern
@@ -2070,7 +1947,7 @@ Functions -extern +extern
@@ -2116,7 +1993,7 @@ Functions -extern +extern
@@ -2170,7 +2047,7 @@ Functions -extern +extern
@@ -2215,7 +2092,7 @@ Functions -extern +extern
@@ -2263,7 +2140,7 @@ Functions -extern +extern
@@ -2327,7 +2204,7 @@ Functions -extern +extern
@@ -2379,7 +2256,7 @@ Functions -extern +extern
@@ -2418,7 +2295,7 @@ Functions -extern +extern
@@ -2456,7 +2333,7 @@ Functions -extern +extern
@@ -2490,7 +2367,7 @@ Functions -extern +extern
@@ -2525,7 +2402,7 @@ Functions -extern +extern
@@ -2556,7 +2433,7 @@ Functions -extern +extern
@@ -2587,7 +2464,7 @@ Functions -extern +extern
@@ -2618,7 +2495,7 @@ Functions -extern +extern
@@ -2649,7 +2526,7 @@ Functions -extern +extern
@@ -2680,7 +2557,7 @@ Functions -extern +extern
@@ -2711,7 +2588,7 @@ Functions -extern +extern
@@ -2737,7 +2614,7 @@ Functions -extern +extern
@@ -2754,7 +2631,7 @@ Functions
diff --git a/docs/MQTTAsync/html/_m_q_t_t_async_8h_source.html b/docs/MQTTAsync/html/_m_q_t_t_async_8h_source.html index 5129c845..c300bb16 100644 --- a/docs/MQTTAsync/html/_m_q_t_t_async_8h_source.html +++ b/docs/MQTTAsync/html/_m_q_t_t_async_8h_source.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync.h Source File - - @@ -34,35 +32,24 @@ - +
-
24 *******************************************************************************/
25
26/********************************************************************/
-
27
+
27
+
87
88/*
90*/
91#if !defined(MQTTASYNC_H)
@@ -138,28 +126,28 @@ $(function(){ initResizable(false); });
110#else
111#define MQTTCLIENT_PERSISTENCE_NONE 1
112#endif
-
113
-
118#define MQTTASYNC_SUCCESS 0
+
113
+
118#define MQTTASYNC_SUCCESS 0
123#define MQTTASYNC_FAILURE -1
124
125/* error code -2 is MQTTAsync_PERSISTENCE_ERROR */
126
127#define MQTTASYNC_PERSISTENCE_ERROR -2
-
128
-
132#define MQTTASYNC_DISCONNECTED -3
-
137#define MQTTASYNC_MAX_MESSAGES_INFLIGHT -4
-
141#define MQTTASYNC_BAD_UTF8_STRING -5
-
145#define MQTTASYNC_NULL_PARAMETER -6
-
151#define MQTTASYNC_TOPICNAME_TRUNCATED -7
-
156#define MQTTASYNC_BAD_STRUCTURE -8
-
160#define MQTTASYNC_BAD_QOS -9
-
164#define MQTTASYNC_NO_MORE_MSGIDS -10
-
168#define MQTTASYNC_OPERATION_INCOMPLETE -11
-
172#define MQTTASYNC_MAX_BUFFERED_MESSAGES -12
-
176#define MQTTASYNC_SSL_NOT_SUPPORTED -13
-
187#define MQTTASYNC_BAD_PROTOCOL -14
-
191#define MQTTASYNC_BAD_MQTT_OPTION -15
-
195#define MQTTASYNC_WRONG_MQTT_VERSION -16
+
128
+
132#define MQTTASYNC_DISCONNECTED -3
+
137#define MQTTASYNC_MAX_MESSAGES_INFLIGHT -4
+
141#define MQTTASYNC_BAD_UTF8_STRING -5
+
145#define MQTTASYNC_NULL_PARAMETER -6
+
151#define MQTTASYNC_TOPICNAME_TRUNCATED -7
+
156#define MQTTASYNC_BAD_STRUCTURE -8
+
160#define MQTTASYNC_BAD_QOS -9
+
164#define MQTTASYNC_NO_MORE_MSGIDS -10
+
168#define MQTTASYNC_OPERATION_INCOMPLETE -11
+
172#define MQTTASYNC_MAX_BUFFERED_MESSAGES -12
+
176#define MQTTASYNC_SSL_NOT_SUPPORTED -13
+
187#define MQTTASYNC_BAD_PROTOCOL -14
+
191#define MQTTASYNC_BAD_MQTT_OPTION -15
+
195#define MQTTASYNC_WRONG_MQTT_VERSION -16
199#define MQTTASYNC_0_LEN_WILL_TOPIC -17
200/*
201 * Return code: connect or disconnect command ignored because there is already a connect or disconnect
@@ -171,34 +159,34 @@ $(function(){ initResizable(false); });
207 * Return code: maxBufferedMessages in the connect options must be >= 0
208 */
209 #define MQTTASYNC_MAX_BUFFERED -19
-
210
-
214#define MQTTVERSION_DEFAULT 0
-
218#define MQTTVERSION_3_1 3
-
222#define MQTTVERSION_3_1_1 4
-
226#define MQTTVERSION_5 5
+
210
+
214#define MQTTVERSION_DEFAULT 0
+
218#define MQTTVERSION_3_1 3
+
222#define MQTTVERSION_3_1_1 4
+
226#define MQTTVERSION_5 5
230#define MQTT_BAD_SUBSCRIBE 0x80
231
-
232
+
232
236typedef struct
237{
-
239 char struct_id[4];
+
239 char struct_id[4];
245
246#define MQTTAsync_init_options_initializer { {'M', 'Q', 'T', 'G'}, 0, 0 }
-
247
+
247
252LIBMQTT_API void MQTTAsync_global_init(MQTTAsync_init_options* inits);
-
253
+
253
258typedef void* MQTTAsync;
268typedef int MQTTAsync_token;
-
269
+
269
276typedef struct
277{
-
279 char struct_id[4];
+
279 char struct_id[4];
286 void* payload;
@@ -211,47 +199,47 @@ $(function(){ initResizable(false); });
338
339#define MQTTAsync_message_initializer { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer }
-
340
+
340
374typedef int MQTTAsync_messageArrived(void* context, char* topicName, int topicLen, MQTTAsync_message* message);
-
375
+
375
397typedef void MQTTAsync_deliveryComplete(void* context, MQTTAsync_token token);
-
398
+
398
417typedef void MQTTAsync_connectionLost(void* context, char* cause);
418
-
419
+
419
435typedef void MQTTAsync_connected(void* context, char* cause);
-
436
+
436
448typedef void MQTTAsync_disconnected(void* context, MQTTProperties* properties,
449 enum MQTTReasonCodes reasonCode);
-
450
+
450
466LIBMQTT_API int MQTTAsync_setDisconnected(MQTTAsync handle, void* context, MQTTAsync_disconnected* co);
-
467
+
467
469typedef struct
470{
-
472 char struct_id[4];
+
472 char struct_id[4];
481 const char* username;
487 struct {
488 int len;
489 const void* data;
-
490 } binarypwd;
+
490 } binarypwd;
492
493#define MQTTAsync_connectData_initializer {{'M', 'Q', 'C', 'D'}, 0, NULL, {0, NULL}}
-
494
+
494
501typedef int MQTTAsync_updateConnectOptions(void* context, MQTTAsync_connectData* data);
-
502
+
502
512LIBMQTT_API int MQTTAsync_setUpdateConnectOptions(MQTTAsync handle, void* context, MQTTAsync_updateConnectOptions* co);
513
-
514#if !defined(NO_PERSISTENCE)
+
514#if !defined(NO_PERSISTENCE)
524LIBMQTT_API int MQTTAsync_setBeforePersistenceWrite(MQTTAsync handle, void* context, MQTTPersistence_beforeWrite* co);
525
-
526
+
526
536LIBMQTT_API int MQTTAsync_setAfterPersistenceRead(MQTTAsync handle, void* context, MQTTPersistence_afterRead* co);
537#endif
-
538
+
538
540typedef struct
541{
@@ -261,11 +249,11 @@ $(function(){ initResizable(false); });
549
-
550
+
550
552typedef struct
553{
-
555 char struct_id[4];
+
555 char struct_id[4];
@@ -277,7 +265,7 @@ $(function(){ initResizable(false); });
571
572#define MQTTAsync_failureData5_initializer {{'M', 'Q', 'F', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, 0, NULL, 0}
-
573
+
573
575typedef struct
576{
@@ -290,26 +278,26 @@ $(function(){ initResizable(false); });
590 {
-
593 } pub;
+
593 } pub;
594 /* For connect, the server connected to, MQTT version used, and sessionPresent flag */
595 struct
596 {
597 char* serverURI;
-
600 } connect;
-
601 } alt;
+
600 } connect;
+
601 } alt;
603
-
604
+
604
606typedef struct
607{
-
608 char struct_id[4];
- +
608 char struct_id[4];
+ - +
615 union
616 {
@@ -317,38 +305,38 @@ $(function(){ initResizable(false); });
619 {
-
622 } sub;
+
622 } sub;
624 struct
625 {
-
628 } pub;
+
628 } pub;
629 /* For connect, the server connected to, MQTT version used, and sessionPresent flag */
630 struct
631 {
632 char* serverURI;
-
635 } connect;
+
635 } connect;
637 struct
638 {
639 int reasonCodeCount;
640 enum MQTTReasonCodes* reasonCodes;
-
641 } unsub;
-
642 } alt;
+
641 } unsub;
+
642 } alt;
644
645#define MQTTAsync_successData5_initializer {{'M', 'Q', 'S', 'D'}, 0, 0, MQTTREASONCODE_SUCCESS, MQTTProperties_initializer, {.sub={0,0}}}
-
646
+
646
660typedef void MQTTAsync_onSuccess(void* context, MQTTAsync_successData* response);
-
661
+
661
676typedef void MQTTAsync_onSuccess5(void* context, MQTTAsync_successData5* response);
-
677
+
677
691typedef void MQTTAsync_onFailure(void* context, MQTTAsync_failureData* response);
-
692
+
692
706typedef void MQTTAsync_onFailure5(void* context, MQTTAsync_failureData5* response);
-
707
+
707
714{
@@ -374,39 +362,40 @@ $(function(){ initResizable(false); });
771 * MQTT V5 subscribe option array, when used with subscribeMany only.
772 */
- +
775
776#define MQTTAsync_responseOptions_initializer { {'M', 'Q', 'T', 'R'}, 1, NULL, NULL, 0, 0, NULL, NULL, MQTTProperties_initializer, MQTTSubscribe_options_initializer, 0, NULL}
-
777
-
779typedef struct MQTTAsync_responseOptions MQTTAsync_callOptions;
+
777
+
779typedef struct MQTTAsync_responseOptions MQTTAsync_callOptions;
780#define MQTTAsync_callOptions_initializer MQTTAsync_responseOptions_initializer
-
781
+
781
810LIBMQTT_API int MQTTAsync_setCallbacks(MQTTAsync handle, void* context, MQTTAsync_connectionLost* cl,
811 MQTTAsync_messageArrived* ma, MQTTAsync_deliveryComplete* dc);
-
812
+
812
+
832
833LIBMQTT_API int MQTTAsync_setConnectionLostCallback(MQTTAsync handle, void* context,
834 MQTTAsync_connectionLost* cl);
-
835
+
835
857LIBMQTT_API int MQTTAsync_setMessageArrivedCallback(MQTTAsync handle, void* context,
858 MQTTAsync_messageArrived* ma);
-
859
+
859
879LIBMQTT_API int MQTTAsync_setDeliveryCompleteCallback(MQTTAsync handle, void* context,
880 MQTTAsync_deliveryComplete* dc);
-
881
+
881
894LIBMQTT_API int MQTTAsync_setConnected(MQTTAsync handle, void* context, MQTTAsync_connected* co);
895
-
896
+
896
905LIBMQTT_API int MQTTAsync_reconnect(MQTTAsync handle);
906
-
907
+
907
960LIBMQTT_API int MQTTAsync_create(MQTTAsync* handle, const char* serverURI, const char* clientId,
961 int persistence_type, void* persistence_context);
-
962
+
962
964typedef struct
965{
-
967 char struct_id[4];
+
967 char struct_id[4];
@@ -434,11 +423,11 @@ $(function(){ initResizable(false); });
1008
1009LIBMQTT_API int MQTTAsync_createWithOptions(MQTTAsync* handle, const char* serverURI, const char* clientId,
1010 int persistence_type, void* persistence_context, MQTTAsync_createOptions* options);
-
1011
+
1011
1024typedef struct
1025{
-
1027 char struct_id[4];
+
1027 char struct_id[4];
1033 const char* topicName;
1035 const char* message;
@@ -448,7 +437,7 @@ $(function(){ initResizable(false); });
1047 {
1048 int len;
1049 const void* data;
-
1050 } payload;
+
1050 } payload;
1052
@@ -458,50 +447,50 @@ $(function(){ initResizable(false); });
1056#define MQTT_SSL_VERSION_TLS_1_0 1
1057#define MQTT_SSL_VERSION_TLS_1_1 2
1058#define MQTT_SSL_VERSION_TLS_1_2 3
-
1059
+
1059
1072typedef struct
1073{
-
1075 char struct_id[4];
-
1076
+
1075 char struct_id[4];
+
1076
-
1085
+
1085
1087 const char* trustStore;
-
1088
+
1088
1092 const char* keyStore;
-
1093
+
1093
1097 const char* privateKey;
-
1098
+
1098
-
1101
+
1101
-
1111
+
1111
-
1114
+
1114
-
1120
+
1120
-
1127
+
1127
1133 const char* CApath;
-
1134
-
1139 int (*ssl_error_cb) (const char *str, size_t len, void *u);
-
1140
+
1134
+
1139 int (*ssl_error_cb) (const char *str, size_t len, void *u);
+
1140
-
1146
-
1152 unsigned int (*ssl_psk_cb) (const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u);
-
1153
+
1146
+
1152 unsigned int (*ssl_psk_cb) (const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u);
+
1153
-
1159
+
1159
-
1166
+
1166
1174 const unsigned char *protos;
-
1175
+
1175
1180 unsigned int protos_len;
1182
1183#define MQTTAsync_SSLOptions_initializer { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 }
-
1184
+
1184
1186typedef struct
1187{
@@ -509,11 +498,11 @@ $(function(){ initResizable(false); });
1189 const char* value;
-
1191
+
1191
1202typedef struct
1203{
-
1205 char struct_id[4];
+
1205 char struct_id[4];
@@ -536,7 +525,7 @@ $(function(){ initResizable(false); });
1345 struct {
1346 int len;
1347 const void* data;
-
1348 } binarypwd;
+
1348 } binarypwd;
1349 /*
1350 * MQTT V5 clean start flag. Only clears state at the beginning of the session.
1351 */
@@ -550,34 +539,34 @@ $(function(){ initResizable(false); });
1386 const char* httpsProxy;
-
1388
+
1388
1390#define MQTTAsync_connectOptions_initializer { {'M', 'Q', 'T', 'C'}, 8, 60, 1, 65535, NULL, NULL, NULL, 30, 0,\
1391NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_DEFAULT, 0, 1, 60, {0, NULL}, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
-
1392
+
1392
1394#define MQTTAsync_connectOptions_initializer5 { {'M', 'Q', 'T', 'C'}, 8, 60, 0, 65535, NULL, NULL, NULL, 30, 0,\
1395NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_5, 0, 1, 60, {0, NULL}, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
-
1396
+
1396
1400#define MQTTAsync_connectOptions_initializer_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 1, 65535, NULL, NULL, NULL, 30, 0,\
1401NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_DEFAULT, 0, 1, 60, {0, NULL}, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
-
1402
+
1402
1406#define MQTTAsync_connectOptions_initializer5_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 0, 65535, NULL, NULL, NULL, 30, 0,\
1407NULL, NULL, NULL, NULL, 0, NULL, MQTTVERSION_5, 0, 1, 60, {0, NULL}, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
1408
-
1409
+
1409
1430LIBMQTT_API int MQTTAsync_connect(MQTTAsync handle, const MQTTAsync_connectOptions* options);
-
1431
+
1431
1433typedef struct
1434{
-
1436 char struct_id[4];
+
1436 char struct_id[4];
@@ -599,44 +588,44 @@ $(function(){ initResizable(false); });
1487#define MQTTAsync_disconnectOptions_initializer5 { {'M', 'Q', 'T', 'D'}, 1, 0, NULL, NULL, NULL,\
1488 MQTTProperties_initializer, MQTTREASONCODE_SUCCESS, NULL, NULL }
-
1489
+
1489
1508LIBMQTT_API int MQTTAsync_disconnect(MQTTAsync handle, const MQTTAsync_disconnectOptions* options);
1509
-
1510
+
1510
1518LIBMQTT_API int MQTTAsync_isConnected(MQTTAsync handle);
1519
-
1520
+
1520
1535LIBMQTT_API int MQTTAsync_subscribe(MQTTAsync handle, const char* topic, int qos, MQTTAsync_responseOptions* response);
1536
-
1537
+
1537
1555LIBMQTT_API int MQTTAsync_subscribeMany(MQTTAsync handle, int count, char* const* topic, const int* qos, MQTTAsync_responseOptions* response);
-
1556
+
1556
1569LIBMQTT_API int MQTTAsync_unsubscribe(MQTTAsync handle, const char* topic, MQTTAsync_responseOptions* response);
-
1570
+
1570
1583LIBMQTT_API int MQTTAsync_unsubscribeMany(MQTTAsync handle, int count, char* const* topic, MQTTAsync_responseOptions* response);
1584
-
1585
+
1585
1605LIBMQTT_API int MQTTAsync_send(MQTTAsync handle, const char* destinationName, int payloadlen, const void* payload, int qos,
1606 int retained, MQTTAsync_responseOptions* response);
-
1607
+
1607
1624LIBMQTT_API int MQTTAsync_sendMessage(MQTTAsync handle, const char* destinationName, const MQTTAsync_message* msg, MQTTAsync_responseOptions* response);
1625
-
1626
+
1626
1645LIBMQTT_API int MQTTAsync_getPendingTokens(MQTTAsync handle, MQTTAsync_token **tokens);
-
1646
+
1646
1655#define MQTTASYNC_TRUE 1
1656LIBMQTT_API int MQTTAsync_isComplete(MQTTAsync handle, MQTTAsync_token token);
1657
-
1658
+
1658
1671LIBMQTT_API int MQTTAsync_waitForCompletion(MQTTAsync handle, MQTTAsync_token token, unsigned long timeout);
1672
-
1673
+
1673
-
1685
+
1685
1694LIBMQTT_API void MQTTAsync_free(void* ptr);
-
1695
+
1695
1703LIBMQTT_API void* MQTTAsync_malloc(size_t size);
-
1704
+
1704
1712LIBMQTT_API void MQTTAsync_destroy(MQTTAsync* handle);
1713
1714
@@ -654,19 +643,20 @@ $(function(){ initResizable(false); });
1725};
1726
-
1727
+
1727
1733LIBMQTT_API void MQTTAsync_setTraceLevel(enum MQTTASYNC_TRACE_LEVELS level);
1734
-
1735
+
1735
1745typedef void MQTTAsync_traceCallback(enum MQTTASYNC_TRACE_LEVELS level, char* message);
-
1746
+
1746
1753LIBMQTT_API void MQTTAsync_setTraceCallback(MQTTAsync_traceCallback* callback);
-
1754
+
1754
1761LIBMQTT_API MQTTAsync_nameValue* MQTTAsync_getVersionInfo(void);
-
1762
+
1762
1769LIBMQTT_API const char* MQTTAsync_strerror(int code);
1770
-
1771
+
1771
+
2399
2400#if defined(__cplusplus)
2401 }
2402#endif
@@ -716,6 +706,7 @@ $(function(){ initResizable(false); });
void MQTTAsync_deliveryComplete(void *context, MQTTAsync_token token)
Definition MQTTAsync.h:397
int MQTTAsync_isComplete(MQTTAsync handle, MQTTAsync_token token)
int MQTTAsync_setAfterPersistenceRead(MQTTAsync handle, void *context, MQTTPersistence_afterRead *co)
+
struct MQTTAsync_responseOptions MQTTAsync_callOptions
Definition MQTTAsync.h:779
int MQTTAsync_getPendingTokens(MQTTAsync handle, MQTTAsync_token **tokens)
int MQTTAsync_reconnect(MQTTAsync handle)
int MQTTAsync_subscribeMany(MQTTAsync handle, int count, char *const *topic, const int *qos, MQTTAsync_responseOptions *response)
@@ -724,7 +715,6 @@ $(function(){ initResizable(false); });
int MQTTAsync_setDisconnected(MQTTAsync handle, void *context, MQTTAsync_disconnected *co)
int MQTTAsync_disconnect(MQTTAsync handle, const MQTTAsync_disconnectOptions *options)
int MQTTAsync_subscribe(MQTTAsync handle, const char *topic, int qos, MQTTAsync_responseOptions *response)
-
struct MQTTAsync_responseOptions MQTTAsync_responseOptions
int MQTTAsync_setCallbacks(MQTTAsync handle, void *context, MQTTAsync_connectionLost *cl, MQTTAsync_messageArrived *ma, MQTTAsync_deliveryComplete *dc)
int MQTTAsync_setConnectionLostCallback(MQTTAsync handle, void *context, MQTTAsync_connectionLost *cl)
This structure represents a persistent data store, used to store outbound and inbound messages,...
@@ -739,6 +729,7 @@ $(function(){ initResizable(false); });
int struct_version
Definition MQTTAsync.h:1084
int disableDefaultTrustStore
Definition MQTTAsync.h:1165
void * ssl_error_context
Definition MQTTAsync.h:1145
+
int(* ssl_error_cb)(const char *str, size_t len, void *u)
Definition MQTTAsync.h:1139
unsigned int protos_len
Definition MQTTAsync.h:1180
const char * CApath
Definition MQTTAsync.h:1133
const char * keyStore
Definition MQTTAsync.h:1092
@@ -746,13 +737,16 @@ $(function(){ initResizable(false); });
const unsigned char * protos
Definition MQTTAsync.h:1174
int enableServerCertAuth
Definition MQTTAsync.h:1113
const char * privateKey
Definition MQTTAsync.h:1097
+
unsigned int(* ssl_psk_cb)(const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u)
Definition MQTTAsync.h:1152
int verify
Definition MQTTAsync.h:1126
+
char struct_id[4]
Definition MQTTAsync.h:1075
const char * enabledCipherSuites
Definition MQTTAsync.h:1110
void * ssl_psk_context
Definition MQTTAsync.h:1158
const char * privateKeyPassword
Definition MQTTAsync.h:1100
Definition MQTTAsync.h:470
int struct_version
Definition MQTTAsync.h:474
const void * data
Definition MQTTAsync.h:489
+
char struct_id[4]
Definition MQTTAsync.h:472
const char * username
Definition MQTTAsync.h:481
int len
Definition MQTTAsync.h:488
Definition MQTTAsync.h:1203
@@ -773,6 +767,7 @@ $(function(){ initResizable(false); });
MQTTAsync_SSLOptions * ssl
Definition MQTTAsync.h:1288
MQTTProperties * connectProperties
Definition MQTTAsync.h:1356
const char * password
Definition MQTTAsync.h:1271
+
char struct_id[4]
Definition MQTTAsync.h:1205
int serverURIcount
Definition MQTTAsync.h:1310
char *const * serverURIs
Definition MQTTAsync.h:1322
const char * username
Definition MQTTAsync.h:1265
@@ -793,6 +788,7 @@ $(function(){ initResizable(false); });
int restoreMessages
Definition MQTTAsync.h:997
int maxBufferedMessages
Definition MQTTAsync.h:979
int deleteOldestMessages
Definition MQTTAsync.h:993
+
char struct_id[4]
Definition MQTTAsync.h:967
int allowDisconnectedSendAtAnyTime
Definition MQTTAsync.h:989
Definition MQTTAsync.h:1434
int struct_version
Definition MQTTAsync.h:1438
@@ -802,6 +798,7 @@ $(function(){ initResizable(false); });
int timeout
Definition MQTTAsync.h:1443
MQTTAsync_onFailure5 * onFailure5
Definition MQTTAsync.h:1481
enum MQTTReasonCodes reasonCode
Definition MQTTAsync.h:1469
+
char struct_id[4]
Definition MQTTAsync.h:1436
MQTTAsync_onSuccess * onSuccess
Definition MQTTAsync.h:1449
void * context
Definition MQTTAsync.h:1461
Definition MQTTAsync.h:553
@@ -811,6 +808,7 @@ $(function(){ initResizable(false); });
int packet_type
Definition MQTTAsync.h:569
int code
Definition MQTTAsync.h:565
enum MQTTReasonCodes reasonCode
Definition MQTTAsync.h:561
+
char struct_id[4]
Definition MQTTAsync.h:555
MQTTAsync_token token
Definition MQTTAsync.h:559
Definition MQTTAsync.h:541
const char * message
Definition MQTTAsync.h:547
@@ -819,6 +817,7 @@ $(function(){ initResizable(false); });
Definition MQTTAsync.h:237
int struct_version
Definition MQTTAsync.h:241
int do_openssl_init
Definition MQTTAsync.h:243
+
char struct_id[4]
Definition MQTTAsync.h:239
Definition MQTTAsync.h:277
int struct_version
Definition MQTTAsync.h:282
MQTTProperties properties
Definition MQTTAsync.h:336
@@ -827,6 +826,7 @@ $(function(){ initResizable(false); });
int retained
Definition MQTTAsync.h:319
void * payload
Definition MQTTAsync.h:286
int payloadlen
Definition MQTTAsync.h:284
+
char struct_id[4]
Definition MQTTAsync.h:279
int dup
Definition MQTTAsync.h:326
Definition MQTTAsync.h:1187
const char * value
Definition MQTTAsync.h:1189
@@ -853,6 +853,7 @@ $(function(){ initResizable(false); });
enum MQTTReasonCodes reasonCode
Definition MQTTAsync.h:612
MQTTAsync_message message
Definition MQTTAsync.h:626
char * serverURI
Definition MQTTAsync.h:632
+
char struct_id[4]
Definition MQTTAsync.h:608
int reasonCodeCount
Definition MQTTAsync.h:620
char * destinationName
Definition MQTTAsync.h:627
MQTTAsync_token token
Definition MQTTAsync.h:611
@@ -872,13 +873,14 @@ $(function(){ initResizable(false); });
const char * message
Definition MQTTAsync.h:1035
int qos
Definition MQTTAsync.h:1044
int retained
Definition MQTTAsync.h:1039
+
char struct_id[4]
Definition MQTTAsync.h:1027
int len
Definition MQTTAsync.h:1048
Definition MQTTProperties.h:116
Definition MQTTSubscribeOpts.h:22
diff --git a/docs/MQTTAsync/html/_m_q_t_t_client_persistence_8h.html b/docs/MQTTAsync/html/_m_q_t_t_client_persistence_8h.html index 718c0c88..9cfd2878 100644 --- a/docs/MQTTAsync/html/_m_q_t_t_client_persistence_8h.html +++ b/docs/MQTTAsync/html/_m_q_t_t_client_persistence_8h.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTClientPersistence.h File Reference - - @@ -34,33 +32,22 @@ - + -
Go to the source code of this file.

- - + -

+

Data Structures

struct  MQTTClient_persistence
struct  MQTTClient_persistence
 A structure containing the function pointers to a persistence implementation and the context or state that will be shared across all the persistence functions. More...
 
- - - - -

+

Macros

#define MQTTCLIENT_PERSISTENCE_DEFAULT   0
 
#define MQTTCLIENT_PERSISTENCE_NONE   1
 
#define MQTTCLIENT_PERSISTENCE_USER   2
 
#define MQTTCLIENT_PERSISTENCE_ERROR   -2
 
- - - - - - - - - - -

+

Typedefs

typedef int(* Persistence_open) (void **handle, const char *clientID, const char *serverURI, void *context)
 Initialize the persistent store.
 
typedef int(* Persistence_close) (void *handle)
 Close the persistent store referred to by the handle.
 
typedef int(* Persistence_put) (void *handle, char *key, int bufcount, char *buffers[], int buflens[])
 Put the specified data into the persistent store.
 
typedef int(* Persistence_get) (void *handle, char *key, char **buffer, int *buflen)
 Retrieve the specified data from the persistent store.
 
typedef int(* Persistence_remove) (void *handle, char *key)
 Remove the data for the specified key from the store.
 
typedef int(* Persistence_keys) (void *handle, char ***keys, int *nkeys)
 Returns the keys in this persistent data store.
 
typedef int(* Persistence_clear) (void *handle)
 Clears the persistence store, so that it no longer contains any persisted data.
 
typedef int(* Persistence_containskey) (void *handle, char *key)
 Returns whether any data has been persisted using the specified key.
 
typedef int MQTTPersistence_beforeWrite(void *context, int bufcount, char *buffers[], int buflens[])
 
typedef int MQTTPersistence_afterRead(void *context, char **buffer, int *buflen)
 
-

Detailed Description

+

Detailed Description

This structure represents a persistent data store, used to store outbound and inbound messages, in order to achieve reliable messaging.

The MQTT Client persists QoS1 and QoS2 messages in order to meet the assurances of delivery associated with these Quality of service levels. The messages are saved in persistent storage The type and context of the persistence implementation are specified when the MQTT client is created (see MQTTClient_create()). The default persistence type (MQTTCLIENT_PERSISTENCE_DEFAULT) uses a file system-based persistence mechanism. The persistence_context argument passed to MQTTClient_create() when using the default peristence is a string representing the location of the persistence directory. If the context argument is NULL, the working directory will be used.

To use memory-based persistence, an application passes MQTTCLIENT_PERSISTENCE_NONE as the persistence_type to MQTTClient_create(). This can lead to message loss in certain situations, but can be appropriate in some cases (see Quality of service).

Client applications can provide their own persistence mechanism by passing MQTTCLIENT_PERSISTENCE_USER as the persistence_type. To implement a custom persistence mechanism, the application must pass an initialized MQTTClient_persistence structure as the persistence_context argument to MQTTClient_create().

If the functions defined return an MQTTCLIENT_PERSISTENCE_ERROR then the state of the persisted data should remain as it was prior to the function being called. For example, if Persistence_put() returns MQTTCLIENT_PERSISTENCE_ERROR, then it is assumed tha tthe persistent store does not contain the data that was passed to the function. Similarly, if Persistence_remove() returns MQTTCLIENT_PERSISTENCE_ERROR then it is assumed that the data to be removed is still held in the persistent store.

It is up to the persistence implementation to log any error information that may be required to diagnose a persistence mechanism failure.

-

Macro Definition Documentation

+

Macro Definition Documentation

◆ MQTTCLIENT_PERSISTENCE_DEFAULT

@@ -214,7 +186,7 @@ Typedefs -

Typedef Documentation

+

Typedef Documentation

◆ Persistence_open

@@ -465,7 +437,7 @@ Typedefs diff --git a/docs/MQTTAsync/html/_m_q_t_t_client_persistence_8h_source.html b/docs/MQTTAsync/html/_m_q_t_t_client_persistence_8h_source.html index b163ea94..98ed3721 100644 --- a/docs/MQTTAsync/html/_m_q_t_t_client_persistence_8h_source.html +++ b/docs/MQTTAsync/html/_m_q_t_t_client_persistence_8h_source.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTClientPersistence.h Source File - - @@ -34,35 +32,24 @@ - +
-
13 * Contributors:
14 * Ian Craggs - initial API and implementation and/or initial documentation
15 *******************************************************************************/
-
16
+
16
+
55
56/*
58*/
59#if !defined(MQTTCLIENTPERSISTENCE_H)
60#define MQTTCLIENTPERSISTENCE_H
61/*
63*/
-
64
-
69#define MQTTCLIENT_PERSISTENCE_DEFAULT 0
-
74#define MQTTCLIENT_PERSISTENCE_NONE 1
+
64
+
69#define MQTTCLIENT_PERSISTENCE_DEFAULT 0
+
74#define MQTTCLIENT_PERSISTENCE_NONE 1
79#define MQTTCLIENT_PERSISTENCE_USER 2
-
80
+
80
85#define MQTTCLIENT_PERSISTENCE_ERROR -2
-
86
+
86
113typedef int (*Persistence_open)(void** handle, const char* clientID, const char* serverURI, void* context);
-
114
+
114
123typedef int (*Persistence_close)(void* handle);
-
124
+
124
140typedef int (*Persistence_put)(void* handle, char* key, int bufcount, char* buffers[], int buflens[]);
-
141
+
141
156typedef int (*Persistence_get)(void* handle, char* key, char** buffer, int* buflen);
-
157
+
157
169typedef int (*Persistence_remove)(void* handle, char* key);
-
170
+
170
186typedef int (*Persistence_keys)(void* handle, char*** keys, int* nkeys);
-
187
+
187
197typedef int (*Persistence_clear)(void* handle);
-
198
+
198
208typedef int (*Persistence_containskey)(void* handle, char* key);
-
209
+
209
215typedef struct {
219 void* context;
@@ -147,10 +135,10 @@ $(function(){ initResizable(false); });
253
-
254
+
254
264typedef int MQTTPersistence_beforeWrite(void* context, int bufcount, char* buffers[], int buflens[]);
265
-
266
+
266
275typedef int MQTTPersistence_afterRead(void* context, char** buffer, int* buflen);
276
277#endif
@@ -177,7 +165,7 @@ $(function(){ initResizable(false); });
diff --git a/docs/MQTTAsync/html/_m_q_t_t_properties_8h.html b/docs/MQTTAsync/html/_m_q_t_t_properties_8h.html index dcdd0a42..3721bb58 100644 --- a/docs/MQTTAsync/html/_m_q_t_t_properties_8h.html +++ b/docs/MQTTAsync/html/_m_q_t_t_properties_8h.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTProperties.h File Reference - - @@ -34,33 +32,22 @@ - + -

Go to the source code of this file.

- - - - - - - + + +

+

Data Structures

struct  MQTTLenString
 
struct  MQTTProperty
 
struct  MQTTProperties
 
struct  MQTTLenString
struct  MQTTProperty
struct  MQTTProperties
- - -

+

Macros

#define MQTT_INVALID_PROPERTY_ID   -2
 
#define MQTTProperties_initializer   {0, 0, 0, NULL}
 
- -

+

Typedefs

typedef struct MQTTProperties MQTTProperties
 
- , MQTTPROPERTY_CODE_SHARED_SUBSCRIPTION_AVAILABLE = 42
} - , MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR
} -

+

Enumerations

enum  MQTTPropertyCodes {
  MQTTPROPERTY_CODE_PAYLOAD_FORMAT_INDICATOR = 1 @@ -159,7 +140,6 @@ Enumerations
 
enum  MQTTPropertyTypes {
  MQTTPROPERTY_TYPE_BYTE , MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER @@ -171,40 +151,25 @@ Enumerations
 
- - - - - - - - - - - - - - -

+

Functions

const char * MQTTPropertyName (enum MQTTPropertyCodes value)
 
int MQTTProperty_getType (enum MQTTPropertyCodes value)
 
int MQTTProperties_len (const MQTTProperties *props)
 
int MQTTProperties_add (MQTTProperties *props, const MQTTProperty *prop)
 
int MQTTProperties_write (char **pptr, const MQTTProperties *properties)
 
int MQTTProperties_read (MQTTProperties *properties, char **pptr, char *enddata)
 
void MQTTProperties_free (MQTTProperties *properties)
 
MQTTProperties MQTTProperties_copy (const MQTTProperties *props)
 
int MQTTProperties_hasProperty (const MQTTProperties *props, enum MQTTPropertyCodes propid)
 
int MQTTProperties_propertyCount (const MQTTProperties *props, enum MQTTPropertyCodes propid)
 
int64_t MQTTProperties_getNumericValue (const MQTTProperties *props, enum MQTTPropertyCodes propid)
 
int64_t MQTTProperties_getNumericValueAt (const MQTTProperties *props, enum MQTTPropertyCodes propid, int index)
 
MQTTPropertyMQTTProperties_getProperty (const MQTTProperties *props, enum MQTTPropertyCodes propid)
 
MQTTPropertyMQTTProperties_getPropertyAt (const MQTTProperties *props, enum MQTTPropertyCodes propid, int index)
 
-

Macro Definition Documentation

+

Macro Definition Documentation

◆ MQTT_INVALID_PROPERTY_ID

@@ -233,7 +198,7 @@ Functions
-

Typedef Documentation

+

Typedef Documentation

◆ MQTTProperties

@@ -249,7 +214,7 @@ Functions -

Enumeration Type Documentation

+

Enumeration Type Documentation

◆ MQTTPropertyCodes

@@ -347,7 +312,7 @@ Functions -

Function Documentation

+

Function Documentation

◆ MQTTPropertyName()

@@ -366,7 +331,7 @@ Functions -extern +extern
@@ -398,7 +363,7 @@ Functions -extern +extern
@@ -458,7 +423,7 @@ Functions -extern +extern
@@ -555,7 +520,7 @@ Functions -extern +extern
@@ -586,7 +551,7 @@ Functions -extern +extern
@@ -622,7 +587,7 @@ Functions -extern +extern
@@ -659,7 +624,7 @@ Functions -extern +extern
@@ -696,7 +661,7 @@ Functions -extern +extern
@@ -738,7 +703,7 @@ Functions -extern +extern
@@ -776,7 +741,7 @@ Functions -extern +extern
@@ -818,7 +783,7 @@ Functions -extern +extern
@@ -837,7 +802,7 @@ Functions
diff --git a/docs/MQTTAsync/html/_m_q_t_t_properties_8h_source.html b/docs/MQTTAsync/html/_m_q_t_t_properties_8h_source.html index 46b30b83..9e5f0a37 100644 --- a/docs/MQTTAsync/html/_m_q_t_t_properties_8h_source.html +++ b/docs/MQTTAsync/html/_m_q_t_t_properties_8h_source.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTProperties.h Source File - - @@ -34,35 +32,24 @@ - +
-
22#include <stdint.h>
23
24#define MQTT_INVALID_PROPERTY_ID -2
-
25
+
25
@@ -142,12 +129,12 @@ $(function(){ initResizable(false); }); - -
56};
+ +
56};
-
57
+
57
64LIBMQTT_API const char* MQTTPropertyName(enum MQTTPropertyCodes value);
-
65
+
65
@@ -156,12 +143,12 @@ $(function(){ initResizable(false); }); - -
75};
+ +
75};
-
76
+
76
82LIBMQTT_API int MQTTProperty_getType(enum MQTTPropertyCodes value);
-
83
+
83
87typedef struct
88{
@@ -170,7 +157,7 @@ $(function(){ initResizable(false); });
92
-
93
+
93
97typedef struct
98{
@@ -183,10 +170,10 @@ $(function(){ initResizable(false); });
108 };
-
109 } value;
+
109 } value;
-
111
+
111
115typedef struct MQTTProperties
116{
@@ -194,33 +181,33 @@ $(function(){ initResizable(false); });
119 int length;
- +
122
123#define MQTTProperties_initializer {0, 0, 0, NULL}
-
124
+
124
130int MQTTProperties_len(const MQTTProperties* props);
-
131
+
131
141LIBMQTT_API int MQTTProperties_add(MQTTProperties* props, const MQTTProperty* prop);
-
142
+
142
149int MQTTProperties_write(char** pptr, const MQTTProperties* properties);
-
150
+
150
158int MQTTProperties_read(MQTTProperties* properties, char** pptr, char* enddata);
-
159
+
159
164LIBMQTT_API void MQTTProperties_free(MQTTProperties* properties);
-
165
+
165
171LIBMQTT_API MQTTProperties MQTTProperties_copy(const MQTTProperties* props);
-
172
+
172
179LIBMQTT_API int MQTTProperties_hasProperty(const MQTTProperties *props, enum MQTTPropertyCodes propid);
-
180
+
180
188LIBMQTT_API int MQTTProperties_propertyCount(const MQTTProperties *props, enum MQTTPropertyCodes propid);
-
189
+
189
196LIBMQTT_API int64_t MQTTProperties_getNumericValue(const MQTTProperties *props, enum MQTTPropertyCodes propid);
-
197
+
197
206LIBMQTT_API int64_t MQTTProperties_getNumericValueAt(const MQTTProperties *props, enum MQTTPropertyCodes propid, int index);
-
207
+
207
214LIBMQTT_API MQTTProperty* MQTTProperties_getProperty(const MQTTProperties *props, enum MQTTPropertyCodes propid);
-
215
+
215
223LIBMQTT_API MQTTProperty* MQTTProperties_getPropertyAt(const MQTTProperties *props, enum MQTTPropertyCodes propid, int index);
224
225#endif /* MQTTPROPERTIES_H */
@@ -229,7 +216,6 @@ $(function(){ initResizable(false); });
MQTTProperty * MQTTProperties_getPropertyAt(const MQTTProperties *props, enum MQTTPropertyCodes propid, int index)
MQTTProperties MQTTProperties_copy(const MQTTProperties *props)
const char * MQTTPropertyName(enum MQTTPropertyCodes value)
-
struct MQTTProperties MQTTProperties
int MQTTProperty_getType(enum MQTTPropertyCodes value)
int MQTTProperties_add(MQTTProperties *props, const MQTTProperty *prop)
MQTTPropertyTypes
Definition MQTTProperties.h:67
@@ -294,7 +280,7 @@ $(function(){ initResizable(false); });
diff --git a/docs/MQTTAsync/html/_m_q_t_t_reason_codes_8h.html b/docs/MQTTAsync/html/_m_q_t_t_reason_codes_8h.html index 6896adaf..6c7102d9 100644 --- a/docs/MQTTAsync/html/_m_q_t_t_reason_codes_8h.html +++ b/docs/MQTTAsync/html/_m_q_t_t_reason_codes_8h.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTReasonCodes.h File Reference - - @@ -34,33 +32,22 @@ - + -

Go to the source code of this file.

-   MQTTREASONCODE_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED = 162
} -

+

Enumerations

enum  MQTTReasonCodes {
  MQTTREASONCODE_SUCCESS = 0 @@ -156,14 +143,12 @@ Enumerations
 
- -

+

Functions

const char * MQTTReasonCode_toString (enum MQTTReasonCodes value)
 
-

Enumeration Type Documentation

+

Enumeration Type Documentation

◆ MQTTReasonCodes

@@ -226,7 +211,7 @@ Functions
-

Function Documentation

+

Function Documentation

◆ MQTTReasonCode_toString()

@@ -245,7 +230,7 @@ Functions -extern +extern
@@ -262,7 +247,7 @@ Functions
diff --git a/docs/MQTTAsync/html/_m_q_t_t_reason_codes_8h_source.html b/docs/MQTTAsync/html/_m_q_t_t_reason_codes_8h_source.html index fa4ffaeb..06726494 100644 --- a/docs/MQTTAsync/html/_m_q_t_t_reason_codes_8h_source.html +++ b/docs/MQTTAsync/html/_m_q_t_t_reason_codes_8h_source.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTReasonCodes.h Source File - - @@ -34,35 +32,24 @@ - +
-
18#define MQTTREASONCODES_H
19
20#include "MQTTExportDeclarations.h"
-
21
+
21
@@ -155,10 +142,10 @@ $(function(){ initResizable(false); }); - -
69};
+ +
69};
-
70
+
70
77LIBMQTT_API const char* MQTTReasonCode_toString(enum MQTTReasonCodes value);
78
79#endif
@@ -212,7 +199,7 @@ $(function(){ initResizable(false); });
diff --git a/docs/MQTTAsync/html/_m_q_t_t_subscribe_opts_8h.html b/docs/MQTTAsync/html/_m_q_t_t_subscribe_opts_8h.html index 20241f98..55c860de 100644 --- a/docs/MQTTAsync/html/_m_q_t_t_subscribe_opts_8h.html +++ b/docs/MQTTAsync/html/_m_q_t_t_subscribe_opts_8h.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTSubscribeOpts.h File Reference - - @@ -34,33 +32,22 @@ - + -
Go to the source code of this file.

- - - +

+

Data Structures

struct  MQTTSubscribe_options
 
struct  MQTTSubscribe_options
- -

+

Macros

#define MQTTSubscribe_options_initializer   { {'M', 'Q', 'S', 'O'}, 0, 0, 0, 0 }
 
- -

+

Typedefs

typedef struct MQTTSubscribe_options MQTTSubscribe_options
 
-

Macro Definition Documentation

+

Macro Definition Documentation

◆ MQTTSubscribe_options_initializer

@@ -125,7 +109,7 @@ Typedefs
-

Typedef Documentation

+

Typedef Documentation

◆ MQTTSubscribe_options

@@ -144,7 +128,7 @@ Typedefs diff --git a/docs/MQTTAsync/html/_m_q_t_t_subscribe_opts_8h_source.html b/docs/MQTTAsync/html/_m_q_t_t_subscribe_opts_8h_source.html index 995c68f2..f90569f9 100644 --- a/docs/MQTTAsync/html/_m_q_t_t_subscribe_opts_8h_source.html +++ b/docs/MQTTAsync/html/_m_q_t_t_subscribe_opts_8h_source.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTSubscribeOpts.h Source File - - @@ -34,35 +32,24 @@ - +
-
16
17#if !defined(SUBOPTS_H)
18#define SUBOPTS_H
-
19
+
19
22{
@@ -115,13 +102,12 @@ $(function(){ initResizable(false); });
31 unsigned char noLocal;
36 unsigned char retainAsPublished;
41 unsigned char retainHandling;
- +
43
44#define MQTTSubscribe_options_initializer { {'M', 'Q', 'S', 'O'}, 0, 0, 0, 0 }
45
46#endif
-
struct MQTTSubscribe_options MQTTSubscribe_options
Definition MQTTSubscribeOpts.h:22
int struct_version
Definition MQTTSubscribeOpts.h:27
unsigned char retainHandling
Definition MQTTSubscribeOpts.h:41
@@ -131,7 +117,7 @@ $(function(){ initResizable(false); });
diff --git a/docs/MQTTAsync/html/annotated.html b/docs/MQTTAsync/html/annotated.html index 651480a6..746d0044 100644 --- a/docs/MQTTAsync/html/annotated.html +++ b/docs/MQTTAsync/html/annotated.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Data Structures - - @@ -34,35 +32,24 @@ - +
-
diff --git a/docs/MQTTAsync/html/async.html b/docs/MQTTAsync/html/async.html index 67ea9080..3601c430 100644 --- a/docs/MQTTAsync/html/async.html +++ b/docs/MQTTAsync/html/async.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Threading - - @@ -34,33 +32,22 @@
- + -
-
Threading
+
Threading

The client application runs on several threads. Processing of handshaking and maintaining the network connection is performed in the background. This API is thread safe: functions may be called by multiple application threads. Notifications of status and message reception are provided to the client application using callbacks registered with the library by the call to MQTTAsync_setCallbacks() (see MQTTAsync_messageArrived(), MQTTAsync_connectionLost() and MQTTAsync_deliveryComplete()). In addition, some functions allow success and failure callbacks to be set for individual requests, in the MQTTAsync_responseOptions structure. Applications can be written as a chain of callback functions.

@@ -93,7 +80,7 @@ $(function(){ initResizable(false); });
diff --git a/docs/MQTTAsync/html/auto_reconnect.html b/docs/MQTTAsync/html/auto_reconnect.html index 95ad6a92..d86baae7 100644 --- a/docs/MQTTAsync/html/auto_reconnect.html +++ b/docs/MQTTAsync/html/auto_reconnect.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Automatic Reconnect - - @@ -34,33 +32,22 @@
- + -
-
Automatic Reconnect
+
Automatic Reconnect

The ability for the client library to reconnect automatically in the event of a connection failure was added in 1.1. The connection lost callback allows a flexible response to the loss of a connection, so almost any behaviour can be implemented in that way. Automatic reconnect does have the advantage of being a little simpler to use.

@@ -95,7 +82,7 @@ $(function(){ initResizable(false); });
diff --git a/docs/MQTTAsync/html/bc_s.png b/docs/MQTTAsync/html/bc_s.png deleted file mode 100644 index 224b29aa..00000000 Binary files a/docs/MQTTAsync/html/bc_s.png and /dev/null differ diff --git a/docs/MQTTAsync/html/bc_sd.png b/docs/MQTTAsync/html/bc_sd.png deleted file mode 100644 index 31ca888d..00000000 Binary files a/docs/MQTTAsync/html/bc_sd.png and /dev/null differ diff --git a/docs/MQTTAsync/html/callbacks.html b/docs/MQTTAsync/html/callbacks.html index d8d03b85..5fb9f8ca 100644 --- a/docs/MQTTAsync/html/callbacks.html +++ b/docs/MQTTAsync/html/callbacks.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Callbacks - - @@ -34,33 +32,22 @@
- + -
-
Callbacks
+
Callbacks

Any function from this API may be used within a callback. It is not advisable to use MQTTAsync_waitForCompletion within a callback, however, as it is the only API call that may take some time to complete, which may cause unpredictable behaviour. All the other API calls are intended to complete quickly, starting a request in the background, with success or failure notified by other callbacks.

@@ -94,7 +81,7 @@ $(function(){ initResizable(false); });
diff --git a/docs/MQTTAsync/html/classes.html b/docs/MQTTAsync/html/classes.html index 53db9180..6a063c5c 100644 --- a/docs/MQTTAsync/html/classes.html +++ b/docs/MQTTAsync/html/classes.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Data Structure Index - - @@ -34,35 +32,24 @@
- +
-
diff --git a/docs/MQTTAsync/html/clipboard.js b/docs/MQTTAsync/html/clipboard.js index 42c1fb0e..9da9f3ca 100644 --- a/docs/MQTTAsync/html/clipboard.js +++ b/docs/MQTTAsync/html/clipboard.js @@ -28,8 +28,8 @@ SOFTWARE. */ let clipboard_title = "Copy to clipboard" -let clipboard_icon = `` -let clipboard_successIcon = `` +let clipboard_icon = `` +let clipboard_successIcon = `` let clipboard_successDuration = 1000 $(function() { diff --git a/docs/MQTTAsync/html/closed.png b/docs/MQTTAsync/html/closed.png deleted file mode 100644 index 98cc2c90..00000000 Binary files a/docs/MQTTAsync/html/closed.png and /dev/null differ diff --git a/docs/MQTTAsync/html/doc.svg b/docs/MQTTAsync/html/doc.svg deleted file mode 100644 index 0b928a53..00000000 --- a/docs/MQTTAsync/html/doc.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/MQTTAsync/html/docd.svg b/docs/MQTTAsync/html/docd.svg deleted file mode 100644 index ac18b275..00000000 --- a/docs/MQTTAsync/html/docd.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/MQTTAsync/html/doxygen.css b/docs/MQTTAsync/html/doxygen.css index 574b3335..4c3d23b2 100644 --- a/docs/MQTTAsync/html/doxygen.css +++ b/docs/MQTTAsync/html/doxygen.css @@ -1,11 +1,12 @@ -/* The standard CSS for doxygen 1.12.0*/ +/* The standard CSS for doxygen 1.14.0*/ html { /* page base colors */ --page-background-color: white; --page-foreground-color: black; --page-link-color: #3D578C; ---page-visited-link-color: #4665A2; +--page-visited-link-color: #3D578C; +--page-external-link-color: #334975; /* index */ --index-odd-item-bg-color: #F8F9FC; @@ -16,46 +17,50 @@ html { /* header */ --header-background-color: #F9FAFC; --header-separator-color: #C4CFE5; ---header-gradient-image: url('nav_h.png'); ---group-header-separator-color: #879ECB; +--group-header-separator-color: #D9E0EE; --group-header-color: #354C7B; --inherit-header-color: gray; --footer-foreground-color: #2A3D61; ---footer-logo-width: 104px; +--footer-logo-width: 75px; --citation-label-color: #334975; --glow-color: cyan; --title-background-color: white; ---title-separator-color: #5373B4; +--title-separator-color: #C4CFE5; --directory-separator-color: #9CAFD4; --separator-color: #4A6AAA; --blockquote-background-color: #F7F8FB; --blockquote-border-color: #9CAFD4; ---scrollbar-thumb-color: #9CAFD4; +--scrollbar-thumb-color: #C4CFE5; --scrollbar-background-color: #F9FAFC; --icon-background-color: #728DC1; --icon-foreground-color: white; +/* --icon-doc-image: url('doc.svg'); --icon-folder-open-image: url('folderopen.svg'); ---icon-folder-closed-image: url('folderclosed.svg'); +--icon-folder-closed-image: url('folderclosed.svg');*/ +--icon-folder-open-fill-color: #C4CFE5; +--icon-folder-fill-color: #D8DFEE; +--icon-folder-border-color: #4665A2; +--icon-doc-fill-color: #D8DFEE; +--icon-doc-border-color: #4665A2; /* brief member declaration list */ --memdecl-background-color: #F9FAFC; --memdecl-separator-color: #DEE4F0; --memdecl-foreground-color: #555; --memdecl-template-color: #4665A2; +--memdecl-border-color: #D5DDEC; /* detailed member list */ --memdef-border-color: #A8B8D9; --memdef-title-background-color: #E2E8F2; ---memdef-title-gradient-image: url('nav_f.png'); ---memdef-proto-background-color: #DFE5F1; +--memdef-proto-background-color: #EEF1F7; --memdef-proto-text-color: #253555; ---memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); --memdef-doc-background-color: white; --memdef-param-name-color: #602020; --memdef-template-color: #4665A2; @@ -74,29 +79,34 @@ html { /** navigation bar/tree/menu */ --nav-background-color: #F9FAFC; --nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_b.png'); ---nav-gradient-hover-image: url('tab_h.png'); ---nav-gradient-active-image: url('tab_a.png'); ---nav-gradient-active-image-parent: url("../tab_a.png"); ---nav-separator-image: url('tab_s.png'); ---nav-breadcrumb-image: url('bc_s.png'); ---nav-breadcrumb-border-color: #C2CDE4; ---nav-splitbar-image: url('splitbar.png'); +--nav-border-color: #C4CFE5; +--nav-breadcrumb-separator-color: #C4CFE5; +--nav-breadcrumb-active-bg: #EEF1F7; +--nav-breadcrumb-color: #354C7B; +--nav-breadcrumb-border-color: #E1E7F2; +--nav-splitbar-bg-color: #DCE2EF; +--nav-splitbar-handle-color: #9CAFD4; --nav-font-size-level1: 13px; --nav-font-size-level2: 10px; --nav-font-size-level3: 9px; --nav-text-normal-color: #283A5D; --nav-text-hover-color: white; --nav-text-active-color: white; ---nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); ---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); --nav-menu-button-color: #364D7C; --nav-menu-background-color: white; --nav-menu-foreground-color: #555555; +--nav-menu-active-bg: #DCE2EF; +--nav-menu-active-color: #9CAFD4; --nav-menu-toggle-color: rgba(255, 255, 255, 0.5); ---nav-arrow-color: #9CAFD4; ---nav-arrow-selected-color: #9CAFD4; +--nav-arrow-color: #B6C4DF; +--nav-arrow-selected-color: #90A5CE; + +/* sync icon */ +--sync-icon-border-color: #C4CFE5; +--sync-icon-background-color: #F9FAFC; +--sync-icon-selected-background-color: #EEF1F7; +--sync-icon-color: #C4CFE5; +--sync-icon-selected-color: #6884BD; /* table of contents */ --toc-background-color: #F4F6FA; @@ -107,18 +117,20 @@ html { /** search field */ --search-background-color: white; --search-foreground-color: #909090; ---search-magnification-image: url('mag.svg'); ---search-magnification-select-image: url('mag_sel.svg'); --search-active-color: black; ---search-filter-background-color: #F9FAFC; +--search-filter-background-color: rgba(255,255,255,.7); +--search-filter-backdrop-filter: blur(4px); --search-filter-foreground-color: black; ---search-filter-border-color: #90A5CE; +--search-filter-border-color: rgba(150,150,150,.4); --search-filter-highlight-text-color: white; --search-filter-highlight-bg-color: #3D578C; --search-results-foreground-color: #425E97; ---search-results-background-color: #EEF1F7; ---search-results-border-color: black; ---search-box-shadow: inset 0.5px 0.5px 3px 0px #555; +--search-results-background-color: rgba(255,255,255,.8); +--search-results-backdrop-filter: blur(4px); +--search-results-border-color: rgba(150,150,150,.4); +--search-box-border-color: #B6C4DF; +--search-close-icon-bg-color: #A0A0A0; +--search-close-icon-fg-color: white; /** code fragments */ --code-keyword-color: #008000; @@ -147,23 +159,21 @@ html { --fragment-lineno-link-hover-bg-color: #C8C8C8; --fragment-copy-ok-color: #2EC82E; --tooltip-foreground-color: black; ---tooltip-background-color: white; ---tooltip-border-color: gray; +--tooltip-background-color: rgba(255,255,255,0.8); +--tooltip-arrow-background-color: white; +--tooltip-border-color: rgba(150,150,150,0.7); +--tooltip-backdrop-filter: blur(3px); --tooltip-doc-color: grey; --tooltip-declaration-color: #006318; --tooltip-link-color: #4665A2; ---tooltip-shadow: 1px 1px 7px gray; +--tooltip-shadow: 0 4px 8px 0 rgba(0,0,0,.25); --fold-line-color: #808080; ---fold-minus-image: url('minus.svg'); ---fold-plus-image: url('plus.svg'); ---fold-minus-image-relpath: url('../../minus.svg'); ---fold-plus-image-relpath: url('../../plus.svg'); /** font-family */ ---font-family-normal: Roboto,sans-serif; +--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; --font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; --font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; ---font-family-title: Tahoma,Arial,sans-serif; +--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; --font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; --font-family-search: Arial,Verdana,sans-serif; --font-family-icon: Arial,Helvetica; @@ -201,7 +211,8 @@ html { --page-background-color: black; --page-foreground-color: #C9D1D9; --page-link-color: #90A5CE; ---page-visited-link-color: #A3B4D7; +--page-visited-link-color: #90A5CE; +--page-external-link-color: #A3B4D7; /* index */ --index-odd-item-bg-color: #0B101A; @@ -212,8 +223,7 @@ html { /* header */ --header-background-color: #070B11; --header-separator-color: #141C2E; ---header-gradient-image: url('nav_hd.png'); ---group-header-separator-color: #283A5D; +--group-header-separator-color: #1D2A43; --group-header-color: #90A5CE; --inherit-header-color: #A0A0A0; @@ -223,35 +233,36 @@ html { --glow-color: cyan; --title-background-color: #090D16; ---title-separator-color: #354C79; +--title-separator-color: #212F4B; --directory-separator-color: #283A5D; --separator-color: #283A5D; --blockquote-background-color: #101826; --blockquote-border-color: #283A5D; ---scrollbar-thumb-color: #283A5D; +--scrollbar-thumb-color: #2C3F65; --scrollbar-background-color: #070B11; --icon-background-color: #334975; --icon-foreground-color: #C4CFE5; ---icon-doc-image: url('docd.svg'); ---icon-folder-open-image: url('folderopend.svg'); ---icon-folder-closed-image: url('folderclosedd.svg'); +--icon-folder-open-fill-color: #4665A2; +--icon-folder-fill-color: #5373B4; +--icon-folder-border-color: #C4CFE5; +--icon-doc-fill-color: #6884BD; +--icon-doc-border-color: #C4CFE5; /* brief member declaration list */ --memdecl-background-color: #0B101A; --memdecl-separator-color: #2C3F65; --memdecl-foreground-color: #BBB; --memdecl-template-color: #7C95C6; +--memdecl-border-color: #233250; /* detailed member list */ --memdef-border-color: #233250; --memdef-title-background-color: #1B2840; ---memdef-title-gradient-image: url('nav_fd.png'); --memdef-proto-background-color: #19243A; --memdef-proto-text-color: #9DB0D4; ---memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); --memdef-doc-background-color: black; --memdef-param-name-color: #D28757; --memdef-template-color: #7C95C6; @@ -270,29 +281,34 @@ html { /** navigation bar/tree/menu */ --nav-background-color: #101826; --nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_bd.png'); ---nav-gradient-hover-image: url('tab_hd.png'); ---nav-gradient-active-image: url('tab_ad.png'); ---nav-gradient-active-image-parent: url("../tab_ad.png"); ---nav-separator-image: url('tab_sd.png'); ---nav-breadcrumb-image: url('bc_sd.png'); +--nav-border-color: #212F4B; +--nav-breadcrumb-separator-color: #212F4B; +--nav-breadcrumb-active-bg: #1D2A43; +--nav-breadcrumb-color: #90A5CE; --nav-breadcrumb-border-color: #2A3D61; ---nav-splitbar-image: url('splitbard.png'); +--nav-splitbar-bg-color: #283A5D; +--nav-splitbar-handle-color: #4665A2; --nav-font-size-level1: 13px; --nav-font-size-level2: 10px; --nav-font-size-level3: 9px; --nav-text-normal-color: #B6C4DF; --nav-text-hover-color: #DCE2EF; --nav-text-active-color: #DCE2EF; ---nav-text-normal-shadow: 0px 1px 1px black; ---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); --nav-menu-button-color: #B6C4DF; --nav-menu-background-color: #05070C; --nav-menu-foreground-color: #BBBBBB; +--nav-menu-active-bg: #1D2A43; +--nav-menu-active-color: #C9D3E7; --nav-menu-toggle-color: rgba(255, 255, 255, 0.2); ---nav-arrow-color: #334975; ---nav-arrow-selected-color: #90A5CE; +--nav-arrow-color: #4665A2; +--nav-arrow-selected-color: #6884BD; + +/* sync icon */ +--sync-icon-border-color: #212F4B; +--sync-icon-background-color: #101826; +--sync-icon-selected-background-color: #1D2A43; +--sync-icon-color: #4665A2; +--sync-icon-selected-color: #5373B4; /* table of contents */ --toc-background-color: #151E30; @@ -303,18 +319,20 @@ html { /** search field */ --search-background-color: black; --search-foreground-color: #C5C5C5; ---search-magnification-image: url('mag_d.svg'); ---search-magnification-select-image: url('mag_seld.svg'); ---search-active-color: #C5C5C5; +--search-active-color: #F5F5F5; --search-filter-background-color: #101826; --search-filter-foreground-color: #90A5CE; +--search-filter-backdrop-filter: none; --search-filter-border-color: #7C95C6; --search-filter-highlight-text-color: #BCC9E2; --search-filter-highlight-bg-color: #283A5D; ---search-results-background-color: #101826; +--search-results-background-color: black; --search-results-foreground-color: #90A5CE; ---search-results-border-color: #7C95C6; ---search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; +--search-results-backdrop-filter: none; +--search-results-border-color: #334975; +--search-box-border-color: #334975; +--search-close-icon-bg-color: #909090; +--search-close-icon-fg-color: black; /** code fragments */ --code-keyword-color: #CC99CD; @@ -344,22 +362,20 @@ html { --fragment-copy-ok-color: #0EA80E; --tooltip-foreground-color: #C9D1D9; --tooltip-background-color: #202020; +--tooltip-arrow-background-color: #202020; +--tooltip-backdrop-filter: none; --tooltip-border-color: #C9D1D9; --tooltip-doc-color: #D9E1E9; --tooltip-declaration-color: #20C348; --tooltip-link-color: #79C0FF; --tooltip-shadow: none; --fold-line-color: #808080; ---fold-minus-image: url('minusd.svg'); ---fold-plus-image: url('plusd.svg'); ---fold-minus-image-relpath: url('../../minusd.svg'); ---fold-plus-image-relpath: url('../../plusd.svg'); /** font-family */ ---font-family-normal: Roboto,sans-serif; +--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; --font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; --font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; ---font-family-title: Tahoma,Arial,sans-serif; +--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; --font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; --font-family-search: Arial,Verdana,sans-serif; --font-family-icon: Arial,Helvetica; @@ -389,8 +405,8 @@ html { --invariant-color-text: #cceed5; }} body { - background-color: var(--page-background-color); - color: var(--page-foreground-color); + background-color: var(--page-background-color); + color: var(--page-foreground-color); } body, table, div, p, dl { @@ -400,13 +416,22 @@ body, table, div, p, dl { line-height: 22px; } +body.resizing { + user-select: none; + -webkit-user-select: none; +} + +#doc-content { + scrollbar-width: thin; +} + /* @group Heading Levels */ .title { font-family: var(--font-family-normal); line-height: 28px; - font-size: 150%; - font-weight: bold; + font-size: 160%; + font-weight: 400; margin: 10px 2px; } @@ -415,7 +440,10 @@ h1.groupheader { } h2.groupheader { - border-bottom: 1px solid var(--group-header-separator-color); + box-shadow: 12px 0 var(--page-background-color), + -12px 0 var(--page-background-color), + 12px 1px var(--group-header-separator-color), + -12px 1px var(--group-header-separator-color); color: var(--group-header-color); font-size: 150%; font-weight: normal; @@ -425,6 +453,13 @@ h2.groupheader { width: 100%; } +td h2.groupheader { + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); +} + h3.groupheader { font-size: 100%; } @@ -451,8 +486,8 @@ p.startli, p.startdd { } th p.starttd, th p.intertd, th p.endtd { - font-size: 100%; - font-weight: 700; + font-size: 100%; + font-weight: 700; } p.starttd { @@ -497,9 +532,11 @@ h3.version { } div.navtab { - padding-right: 15px; + margin-right: 6px; + padding-right: 6px; text-align: right; line-height: 110%; + background-color: var(--nav-background-color); } div.navtab table { @@ -512,19 +549,10 @@ td.navtab { } td.navtabHL { - background-image: var(--nav-gradient-active-image); - background-repeat:repeat-x; padding-right: 6px; padding-left: 6px; -} - -td.navtabHL a, td.navtabHL a:visited { - color: var(--nav-text-hover-color); - text-shadow: var(--nav-text-hover-shadow); -} - -a.navtab { - font-weight: bold; + border-radius: 0 6px 6px 0; + background-color: var(--nav-menu-active-bg); } div.qindex{ @@ -599,16 +627,11 @@ a { color: var(--page-visited-link-color); } -a:hover { +span.label a:hover { text-decoration: none; background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); } -a:hover > span.arrow { - text-decoration: none; - background : var(--nav-background-color); -} - a.el { font-weight: bold; } @@ -616,12 +639,12 @@ a.el { a.elRef { } -a.code, a.code:visited, a.line, a.line:visited { - color: var(--code-link-color); +a.el, a.el:visited, a.code, a.code:visited, a.line, a.line:visited { + color: var(--page-link-color); } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: var(--code-external-link-color); + color: var(--page-external-link-color); } a.code.hl_class { /* style for links to class names in code snippets */ } @@ -658,119 +681,124 @@ dl.el { } ul.check { - list-style:none; - text-indent: -16px; - padding-left: 38px; + list-style:none; + text-indent: -16px; + padding-left: 38px; } li.unchecked:before { - content: "\2610\A0"; + content: "\2610\A0"; } li.checked:before { - content: "\2611\A0"; + content: "\2611\A0"; } ol { - text-indent: 0px; + text-indent: 0px; } ul { - text-indent: 0px; - overflow: visible; + text-indent: 0px; + overflow: visible; } ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; - list-style-type: none; + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; } #side-nav ul { - overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ } #main-nav ul { - overflow: visible; /* reset ul rule for the navigation bar drop down lists */ + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ } .fragment { - text-align: left; - direction: ltr; - overflow-x: auto; - overflow-y: hidden; - position: relative; - min-height: 12px; - margin: 10px 0px; - padding: 10px 10px; - border: 1px solid var(--fragment-border-color); - border-radius: 4px; - background-color: var(--fragment-background-color); - color: var(--fragment-foreground-color); + text-align: left; + direction: ltr; + overflow-x: auto; + overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid var(--fragment-border-color); + border-radius: 4px; + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); } pre.fragment { - word-wrap: break-word; - font-size: 10pt; - line-height: 125%; - font-family: var(--font-family-monospace); + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: var(--font-family-monospace); +} + +span.tt { + white-space: pre; + font-family: var(--font-family-monospace); } .clipboard { - width: 24px; - height: 24px; - right: 5px; - top: 5px; - opacity: 0; - position: absolute; - display: inline; - overflow: auto; - fill: var(--fragment-foreground-color); - justify-content: center; - align-items: center; - cursor: pointer; + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; + overflow: hidden; + justify-content: center; + align-items: center; + cursor: pointer; } .clipboard.success { - border: 1px solid var(--fragment-foreground-color); - border-radius: 4px; + border: 1px solid var(--fragment-foreground-color); + border-radius: 4px; } .fragment:hover .clipboard, .clipboard.success { - opacity: .28; + opacity: .4; } .clipboard:hover, .clipboard.success { - opacity: 1 !important; + opacity: 1 !important; } .clipboard:active:not([class~=success]) svg { - transform: scale(.91); + transform: scale(.91); } .clipboard.success svg { - fill: var(--fragment-copy-ok-color); + fill: var(--fragment-copy-ok-color); } .clipboard.success { - border-color: var(--fragment-copy-ok-color); + border-color: var(--fragment-copy-ok-color); } div.line { font-family: var(--font-family-monospace); - font-size: 13px; + font-size: 13px; min-height: 13px; line-height: 1.2; - text-wrap: unrestricted; + text-wrap: wrap; + word-break: break-all; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; + text-indent: -62px; + padding-left: 62px; padding-bottom: 0px; margin: 0px; -webkit-transition-property: background-color, box-shadow; @@ -786,8 +814,8 @@ div.line { } div.line:after { - content:"\000A"; - white-space: pre; + content:"\000A"; + white-space: pre; } div.line.glow { @@ -796,26 +824,67 @@ div.line.glow { } span.fold { - margin-left: 5px; - margin-right: 1px; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; display: inline-block; width: 12px; height: 12px; - background-repeat:no-repeat; - background-position:center; + margin-left: 4px; + margin-right: 1px; +} + +span.foldnone { + display: inline-block; + position: relative; + cursor: pointer; + user-select: none; +} + +span.fold.plus, span.fold.minus { + width: 10px; + height: 10px; + background-color: var(--fragment-background-color); + position: relative; + border: 1px solid var(--fold-line-color); + margin-right: 1px; +} + +span.fold.plus::before, span.fold.minus::before { + content: ''; + position: absolute; + background-color: var(--fold-line-color); +} + +span.fold.plus::before { + width: 2px; + height: 6px; + top: 2px; + left: 4px; +} + +span.fold.plus::after { + content: ''; + position: absolute; + width: 6px; + height: 2px; + top: 4px; + left: 2px; + background-color: var(--fold-line-color); +} + +span.fold.minus::before { + width: 6px; + height: 2px; + top: 4px; + left: 2px; } span.lineno { padding-right: 4px; - margin-right: 9px; + margin-right: 9px; text-align: right; border-right: 2px solid var(--fragment-lineno-border-color); color: var(--fragment-lineno-foreground-color); background-color: var(--fragment-lineno-background-color); - white-space: pre; + white-space: pre; } span.lineno a, span.lineno a:visited { color: var(--fragment-lineno-link-fg-color); @@ -837,18 +906,27 @@ span.lineno a:hover { } div.classindex ul { - list-style: none; - padding-left: 0; + list-style: none; + padding-left: 0; } div.classindex span.ai { - display: inline-block; + display: inline-block; } div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); + color: var(--group-header-color); + font-size: 110%; + font-weight: 500; + margin-left: 0px; + margin-top: 0em; + margin-bottom: 6px; + padding-top: 8px; + padding-bottom: 4px; } div.groupText { @@ -858,13 +936,13 @@ div.groupText { body { color: var(--page-foreground-color); - margin: 0; + margin: 0; } div.contents { margin-top: 10px; margin-left: 12px; - margin-right: 8px; + margin-right: 12px; } p.formulaDsp { @@ -884,9 +962,9 @@ img.formulaInl, img.inline { div.center { text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; } div.center img { @@ -961,10 +1039,10 @@ span.vhdllogic { } blockquote { - background-color: var(--blockquote-background-color); - border-left: 2px solid var(--blockquote-border-color); - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; } /* @end */ @@ -986,9 +1064,14 @@ th.dirtab { } hr { - height: 0px; border: none; - border-top: 1px solid var(--separator-color); + margin-top: 16px; + margin-bottom: 16px; + height: 1px; + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); } hr.footer { @@ -1003,14 +1086,6 @@ table.memberdecls { } .memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } @@ -1020,13 +1095,23 @@ table.memberdecls { box-shadow: 0 0 15px var(--glow-color); } +.memberdecls tr[class^='memitem'] { + font-family: var(--font-family-monospace); +} + .mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { +.memItemLeft, .memItemRight { + padding-top: 2px; + padding-bottom: 2px; +} + +.memTemplParams { + padding-left: 10px; + padding-top: 5px; +} + +.memItemLeft, .memItemRight, .memTemplParams { background-color: var(--memdecl-background-color); - border: none; - margin: 4px; - padding: 1px 0 0 8px; } .mdescLeft, .mdescRight { @@ -1034,27 +1119,104 @@ table.memberdecls { color: var(--memdecl-foreground-color); } -.memSeparator { - border-bottom: 1px solid var(--memdecl-separator-color); - line-height: 1px; - margin: 0px; - padding: 0px; +tr[class^='memdesc'] { + box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,.075); } -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; +.mdescLeft { + border-left: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); } -.memItemRight, .memTemplItemRight { - width: 100%; +.mdescRight { + border-right: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); } .memTemplParams { color: var(--memdecl-template-color); - white-space: nowrap; + white-space: nowrap; font-size: 80%; + border-left: 1px solid var(--memdecl-border-color); + border-right: 1px solid var(--memdecl-border-color); } +td.ititle { + border: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; + border-top-right-radius: 4px; + padding-left: 10px; +} + +tr:not(:first-child) > td.ititle { + border-top: 0; + border-radius: 0; +} + +.memItemLeft { + white-space: nowrap; + border-left: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); + padding-left: 10px; + transition: none; +} + +.memItemRight { + width: 100%; + border-right: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); + padding-right: 10px; + transition: none; +} + +tr.heading + tr[class^='memitem'] td.memItemLeft, +tr.groupHeader + tr[class^='memitem'] td.memItemLeft, +tr.inherit_header + tr[class^='memitem'] td.memItemLeft { + border-top: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; +} + +tr.heading + tr[class^='memitem'] td.memItemRight, +tr.groupHeader + tr[class^='memitem'] td.memItemRight, +tr.inherit_header + tr[class^='memitem'] td.memItemRight { + border-top: 1px solid var(--memdecl-border-color); + border-top-right-radius: 4px; +} + +tr.heading + tr[class^='memitem'] td.memTemplParams, +tr.heading + tr td.ititle, +tr.groupHeader + tr[class^='memitem'] td.memTemplParams, +tr.groupHeader + tr td.ititle, +tr.inherit_header + tr[class^='memitem'] td.memTemplParams { + border-top: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +table.memberdecls tr:last-child td.memItemLeft, +table.memberdecls tr:last-child td.mdescLeft, +table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, +table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, +table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, +table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft { + border-bottom-left-radius: 4px; +} + +table.memberdecls tr:last-child td.memItemRight, +table.memberdecls tr:last-child td.mdescRight, +table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, +table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, +table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, +table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight { + border-bottom-right-radius: 4px; +} + +tr.template .memItemLeft, tr.template .memItemRight { + border-top: none; + padding-top: 0; +} + + /* @end */ /* @group Member Details */ @@ -1069,24 +1231,43 @@ table.memberdecls { border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; - background-image: var(--memdef-title-gradient-image); - background-repeat: repeat-x; - background-color: var(--memdef-title-background-color); + background-color: var(--memdef-proto-background-color); line-height: 1.25; - font-weight: 300; + font-family: var(--font-family-monospace); + font-weight: 500; + font-size: 16px; float:left; + box-shadow: 0 10px 0 -1px var(--memdef-proto-background-color), + 0 2px 8px 0 rgba(0,0,0,.075); + position: relative; +} + +.memtitle:after { + content: ''; + display: block; + background: var(--memdef-proto-background-color); + height: 10px; + bottom: -10px; + left: 0px; + right: -14px; + position: absolute; + border-top-right-radius: 6px; } .permalink { - font-size: 65%; - display: inline-block; - vertical-align: middle; + font-family: var(--font-family-monospace); + font-weight: 500; + line-height: 1.25; + font-size: 16px; + display: inline-block; + vertical-align: middle; } .memtemplate { font-size: 80%; color: var(--memdef-template-color); + font-family: var(--font-family-monospace); font-weight: normal; margin-left: 9px; } @@ -1099,22 +1280,21 @@ table.memberdecls { padding: 0; margin-bottom: 10px; margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; + display: table !important; + width: 100%; + box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); + border-radius: 4px; } .memitem.glow { - box-shadow: 0 0 15px var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); } .memname { - font-weight: 400; - margin-left: 6px; + font-family: var(--font-family-monospace); + font-size: 13px; + font-weight: 400; + margin-left: 6px; } .memname td { @@ -1122,53 +1302,39 @@ table.memberdecls { } .memproto, dl.reflist dt { - border-top: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); - padding: 6px 0px 6px 0px; - color: var(--memdef-proto-text-color); - font-weight: bold; - text-shadow: var(--memdef-proto-text-shadow); - background-color: var(--memdef-proto-background-color); - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 0px 6px 0px; + color: var(--memdef-proto-text-color); + font-weight: bold; + background-color: var(--memdef-proto-background-color); + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); } .overload { - font-family: var(--font-family-monospace); + font-family: var(--font-family-monospace); font-size: 65%; } .memdoc, dl.reflist dd { - border-bottom: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); - padding: 6px 10px 2px 10px; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: var(--memdef-doc-background-color); - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 10px 2px 10px; + border-top-width: 0; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; } dl.reflist dt { - padding: 5px; + padding: 5px; } dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; + margin: 0px 0px 10px 0px; + padding: 5px; } .paramkey { @@ -1183,9 +1349,9 @@ dl.reflist dd { .paramname { white-space: nowrap; - padding: 0px; - padding-bottom: 1px; - margin-left: 2px; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; } .paramname em { @@ -1199,23 +1365,23 @@ dl.reflist dd { } .params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; + margin-left: 0px; + padding-left: 0px; } .params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { - font-weight: bold; - vertical-align: top; + font-weight: bold; + vertical-align: top; } .params .paramtype, .tparams .paramtype { - font-style: italic; - vertical-align: top; + font-style: italic; + vertical-align: top; } .params .paramdir, .tparams .paramdir { - font-family: var(--font-family-monospace); - vertical-align: top; + font-family: var(--font-family-monospace); + vertical-align: top; } table.mlabels { @@ -1234,15 +1400,15 @@ td.mlabels-right { } span.mlabels { - margin-left: 8px; + margin-left: 8px; } span.mlabel { - background-color: var(--label-background-color); - border-top:1px solid var(--label-left-top-border-color); - border-left:1px solid var(--label-left-top-border-color); - border-right:1px solid var(--label-right-bottom-border-color); - border-bottom:1px solid var(--label-right-bottom-border-color); + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); text-shadow: none; color: var(--label-foreground-color); margin-right: 4px; @@ -1260,39 +1426,37 @@ span.mlabel { /* these are for tree view inside a (index) page */ div.directory { - margin: 10px 0px; - border-top: 1px solid var(--directory-separator-color); - border-bottom: 1px solid var(--directory-separator-color); - width: 100%; + margin: 10px 0px; + width: 100%; } .directory table { - border-collapse:collapse; + border-collapse:collapse; } .directory td { - margin: 0px; - padding: 0px; + margin: 0px; + padding: 0px; vertical-align: top; } .directory td.entry { - white-space: nowrap; - padding-right: 6px; + white-space: nowrap; + padding-right: 6px; padding-top: 3px; } .directory td.entry a { - outline:none; + outline:none; } .directory td.entry a img { - border: none; + border: none; } .directory td.desc { - width: 100%; - padding-left: 6px; + width: 100%; + padding-left: 6px; padding-right: 6px; padding-top: 3px; border-left: 1px solid rgba(0,0,0,0.05); @@ -1313,90 +1477,178 @@ div.directory { } .directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; } .directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; + cursor: pointer; + padding-left: 2px; + padding-right: 2px; color: var(--page-link-color); } .arrow { - color: var(--nav-arrow-color); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; + color: var(--nav-background-color); + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 14px; + transition: opacity 0.3s ease; +} + +span.arrowhead { + position: relative; + padding: 0; + margin: 0 0 0 2px; + display: inline-block; + width: 5px; + height: 5px; + border-right: 2px solid var(--nav-arrow-color); + border-bottom: 2px solid var(--nav-arrow-color); + transform: rotate(-45deg); + transition: transform 0.3s ease; +} + +span.arrowhead.opened { + transform: rotate(45deg); +} + +.selected span.arrowhead { + border-right: 2px solid var(--nav-arrow-selected-color); + border-bottom: 2px solid var(--nav-arrow-selected-color); } .icon { - font-family: var(--font-family-icon); - line-height: normal; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: var(--icon-background-color); - color: var(--icon-foreground-color); - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; + font-family: var(--font-family-icon); + line-height: normal; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; } .icona { - width: 24px; - height: 22px; - display: inline-block; + width: 24px; + height: 22px; + display: inline-block; } -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-folder-open-image); - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-folder-closed-image); - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; +.iconfolder { + width: 24px; + height: 18px; + margin-top: 6px; + vertical-align:top; + display: inline-block; + position: relative; } .icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-doc-image); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; + width: 24px; + height: 18px; + margin-top: 3px; + vertical-align:top; + display: inline-block; + position: relative; } +.folder-icon { + width: 16px; + height: 11px; + background-color: var(--icon-folder-fill-color); + border: 1px solid var(--icon-folder-border-color); + border-radius: 0 2px 2px 2px; + position: relative; + box-sizing: content-box; +} + +.folder-icon::after { + content: ''; + position: absolute; + top: 2px; + left: -1px; + width: 16px; + height: 7px; + background-color: var(--icon-folder-open-fill-color); + border: 1px solid var(--icon-folder-border-color); + border-radius: 7px 7px 2px 2px; + transform-origin: top left; + opacity: 0; + transition: all 0.3s linear; +} + +.folder-icon::before { + content: ''; + position: absolute; + top: -3px; + left: -1px; + width: 6px; + height: 2px; + background-color: var(--icon-folder-fill-color); + border-top: 1px solid var(--icon-folder-border-color); + border-left: 1px solid var(--icon-folder-border-color); + border-right: 1px solid var(--icon-folder-border-color); + border-radius: 2px 2px 0 0; +} + +.folder-icon.open::after { + top: 3px; + opacity: 1; +} + +.doc-icon { + left: 6px; + width: 12px; + height: 16px; + background-color: var(--icon-doc-border-color); + clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%); + position: relative; + display: inline-block; +} +.doc-icon::before { + content: ""; + left: 1px; + top: 1px; + width: 10px; + height: 14px; + background-color: var(--icon-doc-fill-color); + clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%); + position: absolute; + box-sizing: border-box; +} +.doc-icon::after { + content: ""; + left: 7px; + top: 0px; + width: 3px; + height: 3px; + background-color: transparent; + position: absolute; + border: 1px solid var(--icon-doc-border-color); +} + + + + /* @end */ div.dynheader { - margin-top: 8px; + margin-top: 8px; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; @@ -1405,6 +1657,13 @@ div.dynheader { user-select: none; } +span.dynarrow { + position: relative; + display: inline-block; + width: 12px; + bottom: 1px; +} + address { font-style: normal; color: var(--footer-foreground-color); @@ -1416,8 +1675,8 @@ table.doxtable caption { table.doxtable { border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; + margin-top: 4px; + margin-bottom: 4px; } table.doxtable td, table.doxtable th { @@ -1434,133 +1693,145 @@ table.doxtable th { } table.fieldtable { - margin-bottom: 10px; - border: 1px solid var(--memdef-border-color); - border-spacing: 0px; - border-radius: 4px; - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + margin-bottom: 10px; + border: 1px solid var(--memdef-border-color); + border-spacing: 0px; + border-radius: 4px; + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } .fieldtable td, .fieldtable th { - padding: 3px 7px 2px; + padding: 3px 7px 2px; } .fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit { - white-space: nowrap; - border-right: 1px solid var(--memdef-border-color); - border-bottom: 1px solid var(--memdef-border-color); - vertical-align: top; + white-space: nowrap; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); + vertical-align: top; } .fieldtable td.fieldname { - padding-top: 3px; + padding-top: 3px; } .fieldtable td.fieldinit { - padding-top: 3px; - text-align: right; + padding-top: 3px; + text-align: right; } .fieldtable td.fielddoc { - border-bottom: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); } .fieldtable td.fielddoc p:first-child { - margin-top: 0px; + margin-top: 0px; } .fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; + margin-bottom: 2px; } .fieldtable tr:last-child td { - border-bottom: none; + border-bottom: none; } .fieldtable th { - background-image: var(--memdef-title-gradient-image); - background-repeat:repeat-x; - background-color: var(--memdef-title-background-color); - font-size: 90%; - color: var(--memdef-proto-text-color); - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid var(--memdef-border-color); + background-color: var(--memdef-title-background-color); + font-size: 90%; + color: var(--memdef-proto-text-color); + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); } +/* ----------- navigation breadcrumb styling ----------- */ -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: var(--nav-gradient-image); - z-index: 101; +#nav-path ul { + height: 30px; + line-height: 30px; + color: var(--nav-text-normal-color); overflow: hidden; - font-size: 13px; + margin: 0px; + padding-left: 4px; + background-image: none; + background: var(--page-background-color); + border-bottom: 1px solid var(--nav-breadcrumb-separator-color); + font-size: var(--nav-font-size-level1); + font-family: var(--font-family-nav); + position: relative; + z-index: 100; } -.navpath ul -{ - font-size: 11px; - background-image: var(--nav-gradient-image); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:var(--nav-text-normal-color); - border:solid 1px var(--nav-breadcrumb-border-color); - overflow:hidden; - margin:0px; - padding:0px; +#main-nav { + border-bottom: 1px solid var(--nav-border-color); } -.navpath li -{ +.navpath li { list-style-type:none; float:left; - padding-left:10px; - padding-right:15px; - background-image:var(--nav-breadcrumb-image); - background-repeat:no-repeat; - background-position:right; color: var(--nav-foreground-color); } -.navpath li.navelem a -{ - height:32px; - display:block; - outline: none; - color: var(--nav-text-normal-color); - font-family: var(--font-family-nav); - text-shadow: var(--nav-text-normal-shadow); - text-decoration: none; +.navpath li.footer { + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + font-size: 8pt; + color: var(--footer-foreground-color); } -.navpath li.navelem a:hover -{ - color: var(--nav-text-hover-color); - text-shadow: var(--nav-text-hover-shadow); +#nav-path li.navelem { + background-image: none; + display: flex; + align-items: center; + padding-left: 15px; } -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color: var(--footer-foreground-color); - font-size: 8pt; +.navpath li.navelem a { + text-shadow: none; + display: inline-block; + color: var(--nav-breadcrumb-color); + position: relative; + top: 0px; + height: 30px; + margin-right: -20px; } +#nav-path li.navelem:after { + content: ''; + display: inline-block; + position: relative; + top: 0; + right: -15px; + width: 30px; + height: 30px; + transform: scaleX(0.5) scale(0.707) rotate(45deg); + z-index: 10; + background: var(--page-background-color); + box-shadow: 2px -2px 0 2px var(--nav-breadcrumb-separator-color); + border-radius: 0 5px 0 50px; +} + +#nav-path li.navelem:first-child { + margin-left: -6px; +} + +#nav-path li.navelem:hover, +#nav-path li.navelem:hover:after { + background-color: var(--nav-breadcrumb-active-bg); +} + +/* ---------------------- */ div.summary { @@ -1578,14 +1849,14 @@ div.summary a table.classindex { - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; } div.ingroups @@ -1602,10 +1873,8 @@ div.ingroups a div.header { - background-image: var(--header-gradient-image); - background-repeat:repeat-x; - background-color: var(--header-background-color); margin: 0px; + background-color: var(--header-background-color); border-bottom: 1px solid var(--header-separator-color); } @@ -1614,168 +1883,105 @@ div.headertitle padding: 5px 5px 5px 10px; } -.PageDocRTL-title div.headertitle { - text-align: right; - direction: rtl; -} - dl { - padding: 0 0 0 0; + padding: 0 0 0 0; } -/* - -dl.section { - margin-left: 0px; - padding-left: 0px; -} - -dl.note { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention, dl.important { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00D000; -} - -dl.deprecated { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #505050; -} - -dl.todo { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00C0E0; -} - -dl.test { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #3030E0; -} - -dl.bug { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #C08050; -} - -*/ - dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { - font-weight: bold !important; + font-weight: bold !important; } dl.warning, dl.attention, dl.important, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { - padding: 10px; - margin: 10px 0px; - overflow: hidden; - margin-left: 0; - border-radius: 4px; + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; } dl.section dd { - margin-bottom: 2px; + margin-bottom: 2px; } dl.warning, dl.attention, dl.important { - background: var(--warning-color-bg); - border-left: 8px solid var(--warning-color-hl); - color: var(--warning-color-text); + background: var(--warning-color-bg); + border-left: 8px solid var(--warning-color-hl); + color: var(--warning-color-text); } dl.warning dt, dl.attention dt, dl.important dt { - color: var(--warning-color-hl); + color: var(--warning-color-hl); } dl.note, dl.remark { - background: var(--note-color-bg); - border-left: 8px solid var(--note-color-hl); - color: var(--note-color-text); + background: var(--note-color-bg); + border-left: 8px solid var(--note-color-hl); + color: var(--note-color-text); } dl.note dt, dl.remark dt { - color: var(--note-color-hl); + color: var(--note-color-hl); } dl.todo { - background: var(--todo-color-bg); - border-left: 8px solid var(--todo-color-hl); - color: var(--todo-color-text); + background: var(--todo-color-bg); + border-left: 8px solid var(--todo-color-hl); + color: var(--todo-color-text); } dl.todo dt { - color: var(--todo-color-hl); + color: var(--todo-color-hl); } dl.test { - background: var(--test-color-bg); - border-left: 8px solid var(--test-color-hl); - color: var(--test-color-text); + background: var(--test-color-bg); + border-left: 8px solid var(--test-color-hl); + color: var(--test-color-text); } dl.test dt { - color: var(--test-color-hl); + color: var(--test-color-hl); } dl.bug dt a { - color: var(--bug-color-hl) !important; + color: var(--bug-color-hl) !important; } dl.bug { - background: var(--bug-color-bg); - border-left: 8px solid var(--bug-color-hl); - color: var(--bug-color-text); + background: var(--bug-color-bg); + border-left: 8px solid var(--bug-color-hl); + color: var(--bug-color-text); } dl.bug dt a { - color: var(--bug-color-hl) !important; + color: var(--bug-color-hl) !important; } dl.deprecated { - background: var(--deprecated-color-bg); - border-left: 8px solid var(--deprecated-color-hl); - color: var(--deprecated-color-text); + background: var(--deprecated-color-bg); + border-left: 8px solid var(--deprecated-color-hl); + color: var(--deprecated-color-text); } dl.deprecated dt a { - color: var(--deprecated-color-hl) !important; + color: var(--deprecated-color-hl) !important; } dl.note dd, dl.warning dd, dl.pre dd, dl.post dd, dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd, dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { - margin-inline-start: 0px; + margin-inline-start: 0px; } dl.invariant, dl.pre, dl.post { - background: var(--invariant-color-bg); - border-left: 8px solid var(--invariant-color-hl); - color: var(--invariant-color-text); + background: var(--invariant-color-bg); + border-left: 8px solid var(--invariant-color-hl); + color: var(--invariant-color-text); } dl.invariant dt, dl.pre dt, dl.post dt { - color: var(--invariant-color-hl); + color: var(--invariant-color-hl); } @@ -1798,22 +2004,27 @@ dl.invariant dt, dl.pre dt, dl.post dt { #projectalign { - vertical-align: middle; - padding-left: 0.5em; + vertical-align: middle; + padding-left: 0.5em; } #projectname { font-size: 200%; font-family: var(--font-family-title); - margin: 0px; - padding: 2px 0px; + margin: 0; + padding: 0; +} + +#side-nav #projectname +{ + font-size: 130%; } #projectbrief { font-size: 90%; - font-family: var(--font-family-title); + font-family: var(--font-family-title); margin: 0px; padding: 0px; } @@ -1821,43 +2032,42 @@ dl.invariant dt, dl.pre dt, dl.post dt { #projectnumber { font-size: 50%; - font-family: 50% var(--font-family-title); + font-family: var(--font-family-title); margin: 0px; padding: 0px; } #titlearea { - padding: 0px; + padding: 0 0 0 5px; margin: 0px; - width: 100%; border-bottom: 1px solid var(--title-separator-color); background-color: var(--title-background-color); } .image { - text-align: center; + text-align: center; } .dotgraph { - text-align: center; + text-align: center; } .mscgraph { - text-align: center; + text-align: center; } .plantumlgraph { - text-align: center; + text-align: center; } .diagraph { - text-align: center; + text-align: center; } .caption @@ -1866,67 +2076,67 @@ dl.invariant dt, dl.pre dt, dl.post dt { } dl.citelist { - margin-bottom:50px; + margin-bottom:50px; } dl.citelist dt { - color:var(--citation-label-color); - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; - text-align:right; - width:52px; + color:var(--citation-label-color); + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; } dl.citelist dd { - margin:2px 0 2px 72px; - padding:5px 0; + margin:2px 0 2px 72px; + padding:5px 0; } div.toc { - padding: 14px 25px; - background-color: var(--toc-background-color); - border: 1px solid var(--toc-border-color); - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; + padding: 14px 25px; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; } div.toc li { - background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; - font: 10px/1.2 var(--font-family-toc); - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; } div.toc h3 { - font: bold 12px/1.2 var(--font-family-toc); + font: bold 12px/1.2 var(--font-family-toc); color: var(--toc-header-color); - border-bottom: 0 none; - margin: 0; + border-bottom: 0 none; + margin: 0; } div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; + list-style: none outside none; + border: medium none; + padding: 0px; } div.toc li[class^='level'] { - margin-left: 15px; + margin-left: 15px; } div.toc li.level1 { - margin-left: 0px; + margin-left: 0px; } div.toc li.empty { - background-image: none; - margin-top: 0px; + background-image: none; + margin-top: 0px; } span.emoji { @@ -1936,13 +2146,12 @@ span.emoji { } span.obfuscator { - display: none; + display: none; } .inherit_header { - font-weight: bold; - color: var(--inherit-header-color); - cursor: pointer; + font-weight: 400; + cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; @@ -1952,49 +2161,49 @@ span.obfuscator { } .inherit_header td { - padding: 6px 0px 2px 5px; + padding: 6px 0 2px 0; } .inherit { - display: none; + display: none; } tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; + margin-top: 12px; + margin-bottom: 12px; } /* tooltip related style info */ .ttc { - position: absolute; - display: none; + position: absolute; + display: none; } #powerTip { cursor: default; - /*white-space: nowrap;*/ - color: var(--tooltip-foreground-color); + color: var(--tooltip-foreground-color); background-color: var(--tooltip-background-color); + backdrop-filter: var(--tooltip-backdrop-filter); + -webkit-backdrop-filter: var(--tooltip-backdrop-filter); border: 1px solid var(--tooltip-border-color); - border-radius: 4px 4px 4px 4px; + border-radius: 4px; box-shadow: var(--tooltip-shadow); display: none; font-size: smaller; max-width: 80%; - opacity: 0.9; padding: 1ex 1em 1em; position: absolute; z-index: 2147483647; } #powerTip div.ttdoc { - color: var(--tooltip-doc-color); + color: var(--tooltip-doc-color); font-style: italic; } #powerTip div.ttname a { - font-weight: bold; + font-weight: bold; } #powerTip a { @@ -2002,18 +2211,18 @@ tr.heading h2 { } #powerTip div.ttname { - font-weight: bold; + font-weight: bold; } #powerTip div.ttdeci { - color: var(--tooltip-declaration-color); + color: var(--tooltip-declaration-color); } #powerTip div { - margin: 0px; - padding: 0px; - font-size: 12px; - font-family: var(--font-family-tooltip); + margin: 0px; + padding: 0px; + font-size: 12px; + font-family: var(--font-family-tooltip); line-height: 16px; } @@ -2059,7 +2268,7 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: var(--tooltip-background-color); + border-top-color: var(--tooltip-arrow-background-color); border-width: 10px; margin: 0px -10px; } @@ -2087,7 +2296,7 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: var(--tooltip-background-color); + border-bottom-color: var(--tooltip-arrow-background-color); border-width: 10px; margin: 0px -10px; } @@ -2144,29 +2353,29 @@ tr.heading h2 { @media print { - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } } /* @group Markdown */ table.markdownTable { border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; + margin-top: 4px; + margin-bottom: 4px; } table.markdownTable td, table.markdownTable th { @@ -2197,9 +2406,13 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } -tt, code, kbd, samp +tt, code, kbd { - display: inline-block; + display: inline-block; +} +tt, code, kbd +{ + vertical-align: top; } /* @end */ @@ -2208,26 +2421,34 @@ u { } details>summary { - list-style-type: none; + list-style-type: none; } details > summary::-webkit-details-marker { - display: none; + display: none; } details>summary::before { - content: "\25ba"; - padding-right:4px; - font-size: 80%; + content: "\25ba"; + padding-right:4px; + font-size: 80%; } details[open]>summary::before { - content: "\25bc"; - padding-right:4px; - font-size: 80%; + content: "\25bc"; + padding-right:4px; + font-size: 80%; } -body { + +html { +--timestamp: 'Sat Aug 16 2025 14:15:23' +} +span.timestamp { content: ' '; } +span.timestamp:before { content: var(--timestamp); } + +:root { + scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); } diff --git a/docs/MQTTAsync/html/doxygen_crawl.html b/docs/MQTTAsync/html/doxygen_crawl.html index 70392cd8..a2be6f49 100644 --- a/docs/MQTTAsync/html/doxygen_crawl.html +++ b/docs/MQTTAsync/html/doxygen_crawl.html @@ -4,103 +4,10 @@ Validator / crawler helper - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -206,6 +113,7 @@ + @@ -221,6 +129,7 @@ + @@ -276,6 +185,7 @@ + @@ -324,13 +234,17 @@ + + + + @@ -343,6 +257,7 @@ + @@ -367,9 +282,9 @@ + - @@ -382,7 +297,6 @@ - @@ -402,6 +316,7 @@ + @@ -468,32 +383,32 @@ - + - + + - - - - - + + + + - + @@ -504,7 +419,7 @@ - + @@ -530,9 +445,9 @@ + - diff --git a/docs/MQTTAsync/html/dynsections.js b/docs/MQTTAsync/html/dynsections.js index b05f4c8d..0e15bd4d 100644 --- a/docs/MQTTAsync/html/dynsections.js +++ b/docs/MQTTAsync/html/dynsections.js @@ -28,7 +28,6 @@ function toggleVisibility(linkObj) { } let dynsection = { - // helper function updateStripes : function() { $('table.directory tr'). @@ -44,15 +43,13 @@ let dynsection = { const trigger = $('#'+base+'-trigger'); const src=$(trigger).attr('src'); if (content.is(':visible')===true) { - content.hide(); + content.slideUp('fast'); summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + $(linkObj).find('.arrowhead').addClass('closed').removeClass('opened'); } else { - content.show(); + content.slideDown('fast'); summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + $(linkObj).find('.arrowhead').removeClass('closed').addClass('opened'); } return false; }, @@ -63,12 +60,12 @@ let dynsection = { const i = $('#img'+this.id.substring(3)); const a = $('#arr'+this.id.substring(3)); if (l'); + $('span[class=lineno]:first').append(''); // add vertical lines to other rows $('span[class=lineno]').not(':eq(0)').append(''); // add toggle controls to lines with fold divs @@ -173,9 +167,8 @@ let codefold = { const start = $(this).attr('data-start'); const end = $(this).attr('data-end'); // replace normal fold span with controls for the first line of a foldable fragment - $(this).find('span[class=fold]:first').replaceWith(''); + $(this).find('span[class=fold]:first').replaceWith(''); // append div for folded (closed) representation $(this).after(''); // extract the first line from the "open" section to represent closed content @@ -187,7 +180,7 @@ let codefold = { $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); } // replace minus with plus symbol - $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]); + $(line).find('span[class=fold]').addClass('plus').removeClass('minus'); // append ellipsis $(line).append(' '+start+''+end); // insert constructed line into closed div diff --git a/docs/MQTTAsync/html/files.html b/docs/MQTTAsync/html/files.html index 5734fd13..dc3f94e2 100644 --- a/docs/MQTTAsync/html/files.html +++ b/docs/MQTTAsync/html/files.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: File List - - @@ -34,35 +32,24 @@
- +
-
Here is a list of all files with brief descriptions:
- - - - - + + + + +
 MQTTAsync.h
 MQTTClientPersistence.hThis structure represents a persistent data store, used to store outbound and inbound messages, in order to achieve reliable messaging
 MQTTProperties.h
 MQTTReasonCodes.h
 MQTTSubscribeOpts.h
 
MQTTAsync.h
 
MQTTClientPersistence.h
This structure represents a persistent data store, used to store outbound and inbound messages, in order to achieve reliable messaging
 
MQTTProperties.h
 
MQTTReasonCodes.h
 
MQTTSubscribeOpts.h
diff --git a/docs/MQTTAsync/html/folderclosed.svg b/docs/MQTTAsync/html/folderclosed.svg deleted file mode 100644 index b04bed2e..00000000 --- a/docs/MQTTAsync/html/folderclosed.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/docs/MQTTAsync/html/folderclosedd.svg b/docs/MQTTAsync/html/folderclosedd.svg deleted file mode 100644 index 52f0166a..00000000 --- a/docs/MQTTAsync/html/folderclosedd.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/docs/MQTTAsync/html/folderopen.svg b/docs/MQTTAsync/html/folderopen.svg deleted file mode 100644 index f6896dd2..00000000 --- a/docs/MQTTAsync/html/folderopen.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - diff --git a/docs/MQTTAsync/html/folderopend.svg b/docs/MQTTAsync/html/folderopend.svg deleted file mode 100644 index 2d1f06e7..00000000 --- a/docs/MQTTAsync/html/folderopend.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/MQTTAsync/html/functions.html b/docs/MQTTAsync/html/functions.html index 5a03c9bb..58aea246 100644 --- a/docs/MQTTAsync/html/functions.html +++ b/docs/MQTTAsync/html/functions.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Data Fields - - @@ -34,35 +32,24 @@
- +
-
Here is a list of all struct and union fields with links to the structures/unions they belong to:
-

- a -

diff --git a/docs/MQTTAsync/html/functions_vars.html b/docs/MQTTAsync/html/functions_vars.html index 3c4da808..245ddfe2 100644 --- a/docs/MQTTAsync/html/functions_vars.html +++ b/docs/MQTTAsync/html/functions_vars.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Data Fields - Variables - - @@ -34,35 +32,24 @@
- +
-
Here is a list of all variables with links to the structures/unions they belong to:
-

- a -

diff --git a/docs/MQTTAsync/html/globals.html b/docs/MQTTAsync/html/globals.html index 9be0abea..8ffc3033 100644 --- a/docs/MQTTAsync/html/globals.html +++ b/docs/MQTTAsync/html/globals.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
-
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
-

- m -

diff --git a/docs/MQTTAsync/html/globals_defs.html b/docs/MQTTAsync/html/globals_defs.html index ac613857..d51435a4 100644 --- a/docs/MQTTAsync/html/globals_defs.html +++ b/docs/MQTTAsync/html/globals_defs.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
-
Here is a list of all macros with links to the files they belong to:
-

- m -

diff --git a/docs/MQTTAsync/html/globals_enum.html b/docs/MQTTAsync/html/globals_enum.html index f34ff5c1..adaf5bf0 100644 --- a/docs/MQTTAsync/html/globals_enum.html +++ b/docs/MQTTAsync/html/globals_enum.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
-
diff --git a/docs/MQTTAsync/html/globals_eval.html b/docs/MQTTAsync/html/globals_eval.html index 854741a2..440b3287 100644 --- a/docs/MQTTAsync/html/globals_eval.html +++ b/docs/MQTTAsync/html/globals_eval.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@
- +
-
Here is a list of all enum values with links to the files they belong to:
-

- m -

diff --git a/docs/MQTTAsync/html/globals_func.html b/docs/MQTTAsync/html/globals_func.html index 91352ddb..9695a60a 100644 --- a/docs/MQTTAsync/html/globals_func.html +++ b/docs/MQTTAsync/html/globals_func.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
-
Here is a list of all functions with links to the files they belong to:
-

- m -

diff --git a/docs/MQTTAsync/html/globals_p.html b/docs/MQTTAsync/html/globals_p.html index e3538788..017da172 100644 --- a/docs/MQTTAsync/html/globals_p.html +++ b/docs/MQTTAsync/html/globals_p.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
-
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
-

- p -

diff --git a/docs/MQTTAsync/html/globals_type.html b/docs/MQTTAsync/html/globals_type.html index 789f17f7..d00e14bb 100644 --- a/docs/MQTTAsync/html/globals_type.html +++ b/docs/MQTTAsync/html/globals_type.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
-
diff --git a/docs/MQTTAsync/html/index.html b/docs/MQTTAsync/html/index.html index 2f0ac1d9..e52dc1ab 100644 --- a/docs/MQTTAsync/html/index.html +++ b/docs/MQTTAsync/html/index.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Asynchronous MQTT client library for C (MQTTAsync) - - @@ -34,35 +32,24 @@
- +
-

An Asynchronous MQTT client library for C.

© Copyright 2009, 2025 IBM Corp., Ian Craggs and others.

-

Version 1.3.14

+

Version 1.3.15

An MQTT client application connects to MQTT-capable servers. A typical client is responsible for collecting information from a telemetry device and publishing the information to the server. It can also subscribe to topics, receive messages, and use this information to control the telemetry device.

MQTT clients implement the published MQTT v3 protocol. You can write your own API to the MQTT protocol using the programming language and platform of your choice. This can be time-consuming and error-prone.

To simplify writing MQTT client applications, this library encapsulates the MQTT v3 protocol for you. Using this library enables a fully functional MQTT client application to be written in a few lines of code. The information presented here documents the API provided by the Asynchronous MQTT Client library for C.

@@ -146,7 +133,7 @@ Free any memory being used by the client
diff --git a/docs/MQTTAsync/html/menu.js b/docs/MQTTAsync/html/menu.js index 0fd1e990..15f9c522 100644 --- a/docs/MQTTAsync/html/menu.js +++ b/docs/MQTTAsync/html/menu.js @@ -49,7 +49,7 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search,treeview) { searchBoxHtml='
'+ '
'+ '
 '+ + '" method="get">'+ ''+ @@ -60,8 +60,8 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search,treeview) { } else { searchBoxHtml='
'+ ''+ - ' '+ + ''+ ''+ ''+ - ''+ + '
'+ '
'+ '
'; } @@ -84,9 +83,7 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search,treeview) { '
'); $('#main-nav').append(makeTree(menudata,relPath)); $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); - if (searchBoxHtml) { - $('#main-menu').append('
  • '); - } + $('#main-menu').append('
  • '); const $mainMenuState = $('#main-menu-state'); let prevWidth = 0; if ($mainMenuState.length) { diff --git a/docs/MQTTAsync/html/minus.svg b/docs/MQTTAsync/html/minus.svg deleted file mode 100644 index f70d0c1a..00000000 --- a/docs/MQTTAsync/html/minus.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/MQTTAsync/html/minusd.svg b/docs/MQTTAsync/html/minusd.svg deleted file mode 100644 index 5f8e8796..00000000 --- a/docs/MQTTAsync/html/minusd.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/MQTTAsync/html/nav_f.png b/docs/MQTTAsync/html/nav_f.png deleted file mode 100644 index 72a58a52..00000000 Binary files a/docs/MQTTAsync/html/nav_f.png and /dev/null differ diff --git a/docs/MQTTAsync/html/nav_fd.png b/docs/MQTTAsync/html/nav_fd.png deleted file mode 100644 index 032fbdd4..00000000 Binary files a/docs/MQTTAsync/html/nav_fd.png and /dev/null differ diff --git a/docs/MQTTAsync/html/nav_g.png b/docs/MQTTAsync/html/nav_g.png deleted file mode 100644 index 2093a237..00000000 Binary files a/docs/MQTTAsync/html/nav_g.png and /dev/null differ diff --git a/docs/MQTTAsync/html/nav_h.png b/docs/MQTTAsync/html/nav_h.png deleted file mode 100644 index 33389b10..00000000 Binary files a/docs/MQTTAsync/html/nav_h.png and /dev/null differ diff --git a/docs/MQTTAsync/html/nav_hd.png b/docs/MQTTAsync/html/nav_hd.png deleted file mode 100644 index de80f18a..00000000 Binary files a/docs/MQTTAsync/html/nav_hd.png and /dev/null differ diff --git a/docs/MQTTAsync/html/navtree.css b/docs/MQTTAsync/html/navtree.css index 69211d4a..0ea3a07a 100644 --- a/docs/MQTTAsync/html/navtree.css +++ b/docs/MQTTAsync/html/navtree.css @@ -11,8 +11,8 @@ #nav-tree li { white-space:nowrap; - margin:0px; - padding:0px; + margin:0; + padding:0; } #nav-tree .plus { @@ -20,15 +20,10 @@ } #nav-tree .selected { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: var(--nav-text-active-color); - text-shadow: var(--nav-text-active-shadow); -} - -#nav-tree .selected .arrow { - color: var(--nav-arrow-selected-color); - text-shadow: none; + position: relative; + background-color: var(--nav-menu-active-bg); + border-radius: 0 6px 6px 0; + /*margin-right: 5px;*/ } #nav-tree img { @@ -48,6 +43,7 @@ margin:0px; padding:0px; font: 12px var(--font-family-nav); + line-height: 22px; } #nav-tree .label a { @@ -56,7 +52,7 @@ #nav-tree .selected a { text-decoration:none; - color:var(--nav-text-active-color); + color:var(--page-link-color); } #nav-tree .children_ul { @@ -65,8 +61,9 @@ } #nav-tree .item { - margin:0px; - padding:0px; + margin: 0 6px 0 -5px; + padding: 0 0 0 5px; + height: 22px; } #nav-tree { @@ -89,7 +86,6 @@ display:block; position: absolute; left: 0px; - width: $width; overflow : hidden; } @@ -98,15 +94,31 @@ } .ui-resizable-e { - background-image:var(--nav-splitbar-image); - background-size:100%; - background-repeat:repeat-y; - background-attachment: scroll; - cursor:ew-resize; + transition: opacity 0.5s ease; + background-color: var(--nav-splitbar-bg-color); + opacity:0; + cursor:col-resize; height:100%; right:0; top:0; width:6px; + position: relative; +} + +.ui-resizable-e:after { + content: ''; + display: block; + top: 50%; + left: 1px; + width: 2px; + height: 15px; + border-left: 1px solid var(--nav-splitbar-handle-color); + border-right: 1px solid var(--nav-splitbar-handle-color); + position: absolute; +} + +.ui-resizable-e:hover { + opacity: 1; } .ui-resizable-handle { @@ -121,24 +133,97 @@ } #nav-tree { - background-repeat:repeat-x; background-color: var(--nav-background-color); -webkit-overflow-scrolling : touch; /* iOS 5+ */ + scrollbar-width: thin; + border-right: 1px solid var(--nav-border-color); + padding-left: 5px; } #nav-sync { position:absolute; - top:5px; - right:24px; - z-index:0; + top:0px; + right:0px; + z-index:1; } #nav-sync img { opacity:0.3; } -#nav-sync img:hover { - opacity:0.9; +div.nav-sync-icon { + position: relative; + width: 24px; + height: 17px; + left: -6px; + top: -1px; + opacity: 0.7; + display: inline-block; + background-color: var(--sync-icon-background-color); + border: 1px solid var(--sync-icon-border-color); + box-sizing: content-box; +} + +div.nav-sync-icon:hover { + background-color: var(--sync-icon-selected-background-color); + opacity: 1.0; +} + +div.nav-sync-icon.active:after { + content: ''; + background-color: var(--sync-icon-background-color); + border-top: 2px solid var(--sync-icon-color); + position: absolute; + width: 16px; + height: 0px; + top: 7px; + left: 4px; +} + +div.nav-sync-icon.active:hover:after { + border-top: 2px solid var(--sync-icon-selected-color); +} + +span.sync-icon-left { + position: absolute; + padding: 0; + margin: 0; + top: 3px; + left: 4px; + display: inline-block; + width: 8px; + height: 8px; + border-left: 2px solid var(--sync-icon-color); + border-top: 2px solid var(--sync-icon-color); + transform: rotate(-45deg); +} + +span.sync-icon-right { + position: absolute; + padding: 0; + margin: 0; + top: 3px; + left: 10px; + display: inline-block; + width: 8px; + height: 8px; + border-right: 2px solid var(--sync-icon-color); + border-bottom: 2px solid var(--sync-icon-color); + transform: rotate(-45deg); +} + +div.nav-sync-icon:hover span.sync-icon-left { + border-left: 2px solid var(--sync-icon-selected-color); + border-top: 2px solid var(--sync-icon-selected-color); +} + +div.nav-sync-icon:hover span.sync-icon-right { + border-right: 2px solid var(--sync-icon-selected-color); + border-bottom: 2px solid var(--sync-icon-selected-color); +} + +#nav-path ul { + border-top: 1px solid var(--nav-breadcrumb-separator-color); } @media print @@ -147,3 +232,96 @@ div.ui-resizable-handle { display: none; position: relative; } } +/*---------------------------*/ +#container { + display: grid; + grid-template-columns: auto auto; + overflow: hidden; +} + +#page-nav { + background: var(--nav-background-color); + display: block; + width: 250px; + box-sizing: content-box; + position: relative; + border-left: 1px solid var(--nav-border-color); +} + +#page-nav-tree { + display: inline-block; +} + +#page-nav-resize-handle { + transition: opacity 0.5s ease; + background-color: var(--nav-splitbar-bg-color); + opacity:0; + cursor:col-resize; + height:100%; + right:0; + top:0; + width:6px; + position: relative; + z-index: 1; + user-select: none; +} + +#page-nav-resize-handle:after { + content: ''; + display: block; + top: 50%; + left: 1px; + width: 2px; + height: 15px; + border-left: 1px solid var(--nav-splitbar-handle-color); + border-right: 1px solid var(--nav-splitbar-handle-color); + position: absolute; +} + +#page-nav-resize-handle.dragging, +#page-nav-resize-handle:hover { + opacity: 1; +} + +#page-nav-contents { + padding: 0; + margin: 0; + display: block; + top: 0; + left: 0; + height: 100%; + width: 100%; + position: absolute; + overflow: auto; + scrollbar-width: thin; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +ul.page-outline, +ul.page-outline ul { + text-indent: 0; + list-style: none outside none; + padding: 0 0 0 4px; +} + +ul.page-outline { + margin: 0 4px 4px 6px; +} + +ul.page-outline div.item { + font: 12px var(--font-family-nav); + line-height: 22px; +} + +ul.page-outline li { + white-space: nowrap; +} + +ul.page-outline li.vis { + background-color: var(--nav-breadcrumb-active-bg); +} + +#container.resizing { + cursor: col-resize; + user-select: none; +} diff --git a/docs/MQTTAsync/html/offline_publish.html b/docs/MQTTAsync/html/offline_publish.html index 8feaaf88..1e9a1c4a 100644 --- a/docs/MQTTAsync/html/offline_publish.html +++ b/docs/MQTTAsync/html/offline_publish.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Publish While Disconnected - - @@ -34,33 +32,22 @@
    - + -
    -
    Publish While Disconnected
    +
    Publish While Disconnected

    This feature was not originally available because with persistence enabled, messages could be stored locally without ever knowing if they could be sent. The client application could have created the client with an erroneous broker address or port for instance.

    @@ -95,7 +82,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTAsync/html/open.png b/docs/MQTTAsync/html/open.png deleted file mode 100644 index 30f75c7e..00000000 Binary files a/docs/MQTTAsync/html/open.png and /dev/null differ diff --git a/docs/MQTTAsync/html/pages.html b/docs/MQTTAsync/html/pages.html index e684a190..c26ff8b2 100644 --- a/docs/MQTTAsync/html/pages.html +++ b/docs/MQTTAsync/html/pages.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Related Pages - - @@ -34,35 +32,24 @@
    - +
    -
    diff --git a/docs/MQTTAsync/html/plus.svg b/docs/MQTTAsync/html/plus.svg deleted file mode 100644 index 07520165..00000000 --- a/docs/MQTTAsync/html/plus.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/MQTTAsync/html/plusd.svg b/docs/MQTTAsync/html/plusd.svg deleted file mode 100644 index 0c65bfe9..00000000 --- a/docs/MQTTAsync/html/plusd.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/MQTTAsync/html/publish.html b/docs/MQTTAsync/html/publish.html index 70209e92..0c150e22 100644 --- a/docs/MQTTAsync/html/publish.html +++ b/docs/MQTTAsync/html/publish.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Publication example - - @@ -34,33 +32,22 @@
    - + -
    -
    Publication example
    +
    Publication example
    #include <stdio.h>
    @@ -103,7 +90,7 @@ $(function(){ initResizable(false); });
    #include <OsWrapper.h>
    #endif
    -
    #define ADDRESS "tcp://mqtt.eclipseprojects.io:1883"
    +
    #define ADDRESS "tcp://test.mosquitto.org:1883"
    #define CLIENTID "ExampleClientPub"
    #define TOPIC "MQTT Examples"
    #define PAYLOAD "Hello World!"
    @@ -297,7 +284,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTAsync/html/qos.html b/docs/MQTTAsync/html/qos.html index 2dcf773b..a4a66229 100644 --- a/docs/MQTTAsync/html/qos.html +++ b/docs/MQTTAsync/html/qos.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Quality of service - - @@ -34,33 +32,22 @@
    - + -
    -
    Quality of service
    +
    Quality of service

    The MQTT protocol provides three qualities of service for delivering messages between clients and servers: "at most once", "at least once" and "exactly once".

    @@ -100,7 +87,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTAsync/html/resize.js b/docs/MQTTAsync/html/resize.js deleted file mode 100644 index 178d03bc..00000000 --- a/docs/MQTTAsync/html/resize.js +++ /dev/null @@ -1,147 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ - -function initResizable(treeview) { - let sidenav,navtree,content,header,footer,barWidth=6; - const RESIZE_COOKIE_NAME = ''+'width'; - - function resizeWidth() { - const sidenavWidth = $(sidenav).outerWidth(); - content.css({marginLeft:parseInt(sidenavWidth)+"px"}); - if (typeof page_layout!=='undefined' && page_layout==1) { - footer.css({marginLeft:parseInt(sidenavWidth)+"px"}); - } - Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth); - } - - function restoreWidth(navWidth) { - content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); - if (typeof page_layout!=='undefined' && page_layout==1) { - footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); - } - sidenav.css({width:navWidth + "px"}); - } - - function resizeHeight(treeview) { - const headerHeight = header.outerHeight(); - const windowHeight = $(window).height(); - let contentHeight; - if (treeview) - { - const footerHeight = footer.outerHeight(); - let navtreeHeight,sideNavHeight; - if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */ - contentHeight = windowHeight - headerHeight - footerHeight; - navtreeHeight = contentHeight; - sideNavHeight = contentHeight; - } else if (page_layout==1) { /* DISABLE_INDEX=YES */ - contentHeight = windowHeight - footerHeight; - navtreeHeight = windowHeight - headerHeight; - sideNavHeight = windowHeight; - } - navtree.css({height:navtreeHeight + "px"}); - sidenav.css({height:sideNavHeight + "px"}); - } - else - { - contentHeight = windowHeight - headerHeight; - } - content.css({height:contentHeight + "px"}); - if (location.hash.slice(1)) { - (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView(); - } - } - - function collapseExpand() { - let newWidth; - if (sidenav.width()>0) { - newWidth=0; - } else { - const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); - newWidth = (width>250 && width<$(window).width()) ? width : 250; - } - restoreWidth(newWidth); - const sidenavWidth = $(sidenav).outerWidth(); - Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth); - } - - header = $("#top"); - content = $("#doc-content"); - footer = $("#nav-path"); - sidenav = $("#side-nav"); - if (!treeview) { -// title = $("#titlearea"); -// titleH = $(title).height(); -// let animating = false; -// content.on("scroll", function() { -// slideOpts = { duration: 200, -// step: function() { -// contentHeight = $(window).height() - header.outerHeight(); -// content.css({ height : contentHeight + "px" }); -// }, -// done: function() { animating=false; } -// }; -// if (content.scrollTop()>titleH && title.css('display')!='none' && !animating) { -// title.slideUp(slideOpts); -// animating=true; -// } else if (content.scrollTop()<=titleH && title.css('display')=='none' && !animating) { -// title.slideDown(slideOpts); -// animating=true; -// } -// }); - } else { - navtree = $("#nav-tree"); - $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); - $(sidenav).resizable({ minWidth: 0 }); - } - $(window).resize(function() { resizeHeight(treeview); }); - if (treeview) - { - const device = navigator.userAgent.toLowerCase(); - const touch_device = device.match(/(iphone|ipod|ipad|android)/); - if (touch_device) { /* wider split bar for touch only devices */ - $(sidenav).css({ paddingRight:'20px' }); - $('.ui-resizable-e').css({ width:'20px' }); - $('#nav-sync').css({ right:'34px' }); - barWidth=20; - } - const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); - if (width) { restoreWidth(width); } else { resizeWidth(); } - } - resizeHeight(treeview); - const url = location.href; - const i=url.indexOf("#"); - if (i>=0) window.location.hash=url.substr(i); - const _preventDefault = function(evt) { evt.preventDefault(); }; - if (treeview) - { - $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); - $(".ui-resizable-handle").dblclick(collapseExpand); - // workaround for firefox - $("body").css({overflow: "hidden"}); - } - $(window).on('load',function() { resizeHeight(treeview); }); -} -/* @license-end */ diff --git a/docs/MQTTAsync/html/search/all_0.js b/docs/MQTTAsync/html/search/all_0.js index 03a6dc16..3e74b40f 100644 --- a/docs/MQTTAsync/html/search/all_0.js +++ b/docs/MQTTAsync/html/search/all_0.js @@ -1,7 +1,7 @@ var searchData= [ ['allowdisconnectedsendatanytime_0',['allowDisconnectedSendAtAnyTime',['../struct_m_q_t_t_async__create_options.html#abe7fdbe18bfd3577a75d3b386d69406c',1,'MQTTAsync_createOptions']]], - ['alt_1',['alt',['../struct_m_q_t_t_async__success_data.html#afbc1fee4467369fefa30cb07047fca14',1,'MQTTAsync_successData::alt'],['../struct_m_q_t_t_async__success_data5.html#a4bde812772718b8051b0d6e2000a5f5c',1,'MQTTAsync_successData5::alt']]], + ['alt_1',['alt',['../struct_m_q_t_t_async__success_data.html#ad22a7604c4fe5747f3e4a8d99f1c6199',1,'MQTTAsync_successData::alt'],['../struct_m_q_t_t_async__success_data5.html#a78a7ba881593588abd2609a3e8586100',1,'MQTTAsync_successData5::alt']]], ['array_2',['array',['../struct_m_q_t_t_properties.html#a3ac4c38b423393c1553dcf8b71e7dd58',1,'MQTTProperties']]], ['asynchronous_20mqtt_20client_20library_20for_20c_20mqttasync_3',['Asynchronous MQTT client library for C (MQTTAsync)',['../index.html',1,'']]], ['automatic_20reconnect_4',['Automatic Reconnect',['../auto_reconnect.html',1,'']]], diff --git a/docs/MQTTAsync/html/search/all_1.js b/docs/MQTTAsync/html/search/all_1.js index 7defe933..400b61a5 100644 --- a/docs/MQTTAsync/html/search/all_1.js +++ b/docs/MQTTAsync/html/search/all_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['binarypwd_0',['binarypwd',['../struct_m_q_t_t_async__connect_data.html#ad5c523e5e6dc0105cc7b4a296451915b',1,'MQTTAsync_connectData::binarypwd'],['../struct_m_q_t_t_async__connect_options.html#a3bccd0957cca80fa2200962051093931',1,'MQTTAsync_connectOptions::binarypwd']]], + ['binarypwd_0',['binarypwd',['../struct_m_q_t_t_async__connect_data.html#aa3edd551c0e5be4990edd188efe8a8a5',1,'MQTTAsync_connectData::binarypwd'],['../struct_m_q_t_t_async__connect_options.html#afd475062c6ba7b305ab5f8b7404bba1d',1,'MQTTAsync_connectOptions::binarypwd']]], ['byte_1',['byte',['../struct_m_q_t_t_property.html#a1581cde4f73c9a797ae1e7afcc1bb3de',1,'MQTTProperty']]] ]; diff --git a/docs/MQTTAsync/html/search/all_10.js b/docs/MQTTAsync/html/search/all_10.js index 4d015991..ca6e6ce7 100644 --- a/docs/MQTTAsync/html/search/all_10.js +++ b/docs/MQTTAsync/html/search/all_10.js @@ -14,7 +14,7 @@ var searchData= ['sslversion_11',['sslVersion',['../struct_m_q_t_t_async___s_s_l_options.html#a3543ea1481b68d73cdde833280bb9c45',1,'MQTTAsync_SSLOptions']]], ['struct_5fid_12',['struct_id',['../struct_m_q_t_t_async__init__options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_init_options::struct_id'],['../struct_m_q_t_t_async__message.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_message::struct_id'],['../struct_m_q_t_t_async__connect_data.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_connectData::struct_id'],['../struct_m_q_t_t_async__failure_data5.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_failureData5::struct_id'],['../struct_m_q_t_t_async__success_data5.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_successData5::struct_id'],['../struct_m_q_t_t_async__response_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_responseOptions::struct_id'],['../struct_m_q_t_t_async__create_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_createOptions::struct_id'],['../struct_m_q_t_t_async__will_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_willOptions::struct_id'],['../struct_m_q_t_t_async___s_s_l_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_SSLOptions::struct_id'],['../struct_m_q_t_t_async__connect_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_connectOptions::struct_id'],['../struct_m_q_t_t_async__disconnect_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_disconnectOptions::struct_id'],['../struct_m_q_t_t_subscribe__options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTSubscribe_options::struct_id']]], ['struct_5fversion_13',['struct_version',['../struct_m_q_t_t_async__init__options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_init_options::struct_version'],['../struct_m_q_t_t_async__message.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_message::struct_version'],['../struct_m_q_t_t_async__connect_data.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_connectData::struct_version'],['../struct_m_q_t_t_async__failure_data5.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_failureData5::struct_version'],['../struct_m_q_t_t_async__success_data5.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_successData5::struct_version'],['../struct_m_q_t_t_async__response_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_responseOptions::struct_version'],['../struct_m_q_t_t_async__create_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_createOptions::struct_version'],['../struct_m_q_t_t_async__will_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_willOptions::struct_version'],['../struct_m_q_t_t_async___s_s_l_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_SSLOptions::struct_version'],['../struct_m_q_t_t_async__connect_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_connectOptions::struct_version'],['../struct_m_q_t_t_async__disconnect_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_disconnectOptions::struct_version'],['../struct_m_q_t_t_subscribe__options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTSubscribe_options::struct_version']]], - ['sub_14',['sub',['../struct_m_q_t_t_async__success_data5.html#a26c7d90bad0e00a056dff117b9111346',1,'MQTTAsync_successData5']]], + ['sub_14',['sub',['../struct_m_q_t_t_async__success_data5.html#a660a4302870a2be6a557e137670951a2',1,'MQTTAsync_successData5']]], ['subscribeoptions_15',['subscribeOptions',['../struct_m_q_t_t_async__response_options.html#a16a3cd2a8c69669e9ed6e420ccd9c517',1,'MQTTAsync_responseOptions']]], ['subscribeoptionscount_16',['subscribeOptionsCount',['../struct_m_q_t_t_async__response_options.html#a1a4b9bb2780472ec7bb65d0df1bf5d26',1,'MQTTAsync_responseOptions']]], ['subscribeoptionslist_17',['subscribeOptionsList',['../struct_m_q_t_t_async__response_options.html#a98f71c5d03dc5ee86fd9dc0119ccb961',1,'MQTTAsync_responseOptions']]], diff --git a/docs/MQTTAsync/html/search/all_12.js b/docs/MQTTAsync/html/search/all_12.js index 992723d9..89526e5b 100644 --- a/docs/MQTTAsync/html/search/all_12.js +++ b/docs/MQTTAsync/html/search/all_12.js @@ -1,5 +1,5 @@ var searchData= [ - ['unsub_0',['unsub',['../struct_m_q_t_t_async__success_data5.html#a46b20b320d6951e567ebf678ea4ac1a3',1,'MQTTAsync_successData5']]], + ['unsub_0',['unsub',['../struct_m_q_t_t_async__success_data5.html#a7c214231611f4882a255f6f20db66c10',1,'MQTTAsync_successData5']]], ['username_1',['username',['../struct_m_q_t_t_async__connect_data.html#aba2dfcdfda80edcb531a5a7115d3e043',1,'MQTTAsync_connectData::username'],['../struct_m_q_t_t_async__connect_options.html#aba2dfcdfda80edcb531a5a7115d3e043',1,'MQTTAsync_connectOptions::username']]] ]; diff --git a/docs/MQTTAsync/html/search/all_13.js b/docs/MQTTAsync/html/search/all_13.js index fea75222..f88e556b 100644 --- a/docs/MQTTAsync/html/search/all_13.js +++ b/docs/MQTTAsync/html/search/all_13.js @@ -1,5 +1,5 @@ var searchData= [ - ['value_0',['value',['../struct_m_q_t_t_async__name_value.html#a8556878012feffc9e0beb86cd78f424d',1,'MQTTAsync_nameValue::value'],['../struct_m_q_t_t_property.html#a09e85ff5ad73824d6c2edc1ce4283a17',1,'MQTTProperty::value'],['../struct_m_q_t_t_property.html#af2307539b97777bec0475619af5648f1',1,'MQTTProperty::value']]], + ['value_0',['value',['../struct_m_q_t_t_async__name_value.html#a8556878012feffc9e0beb86cd78f424d',1,'MQTTAsync_nameValue::value'],['../struct_m_q_t_t_property.html#a09e85ff5ad73824d6c2edc1ce4283a17',1,'MQTTProperty::value'],['../struct_m_q_t_t_property.html#a45c2b5a45dc4931afcc1d66c7e69699a',1,'MQTTProperty::value']]], ['verify_1',['verify',['../struct_m_q_t_t_async___s_s_l_options.html#a94900629685d5ed08f66fd2931f573ce',1,'MQTTAsync_SSLOptions']]] ]; diff --git a/docs/MQTTAsync/html/search/all_2.js b/docs/MQTTAsync/html/search/all_2.js index 7952a600..54e23836 100644 --- a/docs/MQTTAsync/html/search/all_2.js +++ b/docs/MQTTAsync/html/search/all_2.js @@ -7,7 +7,7 @@ var searchData= ['cleanstart_4',['cleanstart',['../struct_m_q_t_t_async__connect_options.html#acdcb75a5d5981da027bce83849140f7b',1,'MQTTAsync_connectOptions']]], ['client_20library_20for_20c_20mqttasync_5',['Asynchronous MQTT client library for C (MQTTAsync)',['../index.html',1,'']]], ['code_6',['code',['../struct_m_q_t_t_async__failure_data.html#a45a5b7c00a796a23f01673cef1dbe0a9',1,'MQTTAsync_failureData::code'],['../struct_m_q_t_t_async__failure_data5.html#a45a5b7c00a796a23f01673cef1dbe0a9',1,'MQTTAsync_failureData5::code']]], - ['connect_7',['connect',['../struct_m_q_t_t_async__success_data.html#a028701cd79a4923d1d2172422c022447',1,'MQTTAsync_successData::connect'],['../struct_m_q_t_t_async__success_data5.html#ac73a35b7229f7f4193127cac7b20bc8a',1,'MQTTAsync_successData5::connect']]], + ['connect_7',['connect',['../struct_m_q_t_t_async__success_data.html#a6b6d6711b9a1f4a65eaab327f1a54e6f',1,'MQTTAsync_successData::connect'],['../struct_m_q_t_t_async__success_data5.html#a9818c7454cfd04e1a477472ce72430cc',1,'MQTTAsync_successData5::connect']]], ['connectproperties_8',['connectProperties',['../struct_m_q_t_t_async__connect_options.html#a9f8b7ffb4a698eb151a3b090548b82e8',1,'MQTTAsync_connectOptions']]], ['connecttimeout_9',['connectTimeout',['../struct_m_q_t_t_async__connect_options.html#a38c6aa24b36d981c49405db425c24db0',1,'MQTTAsync_connectOptions']]], ['context_10',['context',['../struct_m_q_t_t_async__response_options.html#ae376f130b17d169ee51be68077a89ed0',1,'MQTTAsync_responseOptions::context'],['../struct_m_q_t_t_async__connect_options.html#ae376f130b17d169ee51be68077a89ed0',1,'MQTTAsync_connectOptions::context'],['../struct_m_q_t_t_async__disconnect_options.html#ae376f130b17d169ee51be68077a89ed0',1,'MQTTAsync_disconnectOptions::context'],['../struct_m_q_t_t_client__persistence.html#ae376f130b17d169ee51be68077a89ed0',1,'MQTTClient_persistence::context']]], diff --git a/docs/MQTTAsync/html/search/all_d.js b/docs/MQTTAsync/html/search/all_d.js index 0aa11f0f..515fd59a 100644 --- a/docs/MQTTAsync/html/search/all_d.js +++ b/docs/MQTTAsync/html/search/all_d.js @@ -2,7 +2,7 @@ var searchData= [ ['packet_5ftype_0',['packet_type',['../struct_m_q_t_t_async__failure_data5.html#a38dfee9f038f473c95af46fcef5dd3e9',1,'MQTTAsync_failureData5']]], ['password_1',['password',['../struct_m_q_t_t_async__connect_options.html#aa4a2ebcb494493f648ae1e6975672575',1,'MQTTAsync_connectOptions']]], - ['payload_2',['payload',['../struct_m_q_t_t_async__message.html#a9eff55064941fb604452abb0050ea99d',1,'MQTTAsync_message::payload'],['../struct_m_q_t_t_async__will_options.html#a93e9de18277b05bc7a033bdee98c908a',1,'MQTTAsync_willOptions::payload']]], + ['payload_2',['payload',['../struct_m_q_t_t_async__message.html#a9eff55064941fb604452abb0050ea99d',1,'MQTTAsync_message::payload'],['../struct_m_q_t_t_async__will_options.html#a9f1569bfec23e48cd9039e2d5e60ebea',1,'MQTTAsync_willOptions::payload']]], ['payloadlen_3',['payloadlen',['../struct_m_q_t_t_async__message.html#aa3cb44feb3ae6d11b3a4cad2d94cb33a',1,'MQTTAsync_message']]], ['pclear_4',['pclear',['../struct_m_q_t_t_client__persistence.html#abc192dc88113c7d933b29d3561badbf5',1,'MQTTClient_persistence']]], ['pclose_5',['pclose',['../struct_m_q_t_t_client__persistence.html#a7e50506912d2ec0e014cc25ec28fb402',1,'MQTTClient_persistence']]], @@ -27,7 +27,7 @@ var searchData= ['protos_24',['protos',['../struct_m_q_t_t_async___s_s_l_options.html#a4f8661600fb8bacf031150f8dcd293a5',1,'MQTTAsync_SSLOptions']]], ['protos_5flen_25',['protos_len',['../struct_m_q_t_t_async___s_s_l_options.html#a26f5d839c92f9772c2a5d05486277a42',1,'MQTTAsync_SSLOptions']]], ['proxies_26',['HTTP Proxies',['../_h_t_t_p_proxies.html',1,'']]], - ['pub_27',['pub',['../struct_m_q_t_t_async__success_data.html#a7f044c3b839c17a8840cd6f00d7a0e90',1,'MQTTAsync_successData::pub'],['../struct_m_q_t_t_async__success_data5.html#a5c41c63d6c37acbe3c493279c5d4c44a',1,'MQTTAsync_successData5::pub']]], + ['pub_27',['pub',['../struct_m_q_t_t_async__success_data.html#adf90eb13caa8a95700b14503080b5bad',1,'MQTTAsync_successData::pub'],['../struct_m_q_t_t_async__success_data5.html#ab7824c5f96efea17add7da72d4211b6f',1,'MQTTAsync_successData5::pub']]], ['publication_20example_28',['Publication example',['../publish.html',1,'']]], ['publish_20while_20disconnected_29',['Publish While Disconnected',['../offline_publish.html',1,'']]] ]; diff --git a/docs/MQTTAsync/html/search/close.svg b/docs/MQTTAsync/html/search/close.svg deleted file mode 100644 index 337d6cc1..00000000 --- a/docs/MQTTAsync/html/search/close.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - diff --git a/docs/MQTTAsync/html/search/mag.svg b/docs/MQTTAsync/html/search/mag.svg deleted file mode 100644 index ffb6cf0d..00000000 --- a/docs/MQTTAsync/html/search/mag.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/docs/MQTTAsync/html/search/mag_d.svg b/docs/MQTTAsync/html/search/mag_d.svg deleted file mode 100644 index 4122773f..00000000 --- a/docs/MQTTAsync/html/search/mag_d.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/docs/MQTTAsync/html/search/mag_sel.svg b/docs/MQTTAsync/html/search/mag_sel.svg deleted file mode 100644 index 553dba87..00000000 --- a/docs/MQTTAsync/html/search/mag_sel.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/docs/MQTTAsync/html/search/mag_seld.svg b/docs/MQTTAsync/html/search/mag_seld.svg deleted file mode 100644 index c906f84c..00000000 --- a/docs/MQTTAsync/html/search/mag_seld.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/docs/MQTTAsync/html/search/search.css b/docs/MQTTAsync/html/search/search.css index 19f76f9d..956f31f9 100644 --- a/docs/MQTTAsync/html/search/search.css +++ b/docs/MQTTAsync/html/search/search.css @@ -5,8 +5,8 @@ display: flex; justify-content: center; align-items: center; - height: 36px; - margin-right: 1em; + height: 43px; + margin-right: 0; } /*---------------- Search box styling */ @@ -27,43 +27,23 @@ dark-mode-toggle { white-space : nowrap; background: var(--search-background-color); border-radius: 0.65em; - box-shadow: var(--search-box-shadow); + border: 1px solid var(--search-box-border-color); z-index: 102; + margin-right: 4px; } #MSearchBox .left { display: inline-block; vertical-align: middle; - height: 1.4em; + height: 1.6em; } -#MSearchSelect { - display: inline-block; - vertical-align: middle; - width: 20px; - height: 19px; - background-image: var(--search-magnification-select-image); - margin: 0 0 0 0.3em; - padding: 0; -} - -#MSearchSelectExt { - display: inline-block; - vertical-align: middle; - width: 10px; - height: 19px; - background-image: var(--search-magnification-image); - margin: 0 0 0 0.5em; - padding: 0; -} - - #MSearchField { display: inline-block; - vertical-align: middle; + vertical-align: top; width: 7.5em; - height: 19px; - margin: 0 0.15em; + height: 22px; + margin: 0 0 0 0.15em; padding: 0; line-height: 1em; border:none; @@ -86,7 +66,7 @@ dark-mode-toggle { display: inline-block; vertical-align: middle; width: 1.4em; - height: 1.4em; + height: 1.6em; } #MSearchClose { @@ -101,14 +81,100 @@ dark-mode-toggle { } #MSearchCloseImg { - padding: 0.3em; - margin: 0; + margin: 6px 0 0 4px; } +.close-icon { + width: 11px; + height: 11px; + background-color: var(--search-close-icon-bg-color); + border-radius: 50%; + position: relative; + display: flex; + justify-content: center; + align-items: center; + box-sizing: content-box; +} + +.close-icon:before, +.close-icon:after { + content: ''; + position: absolute; + width: 7px; + height: 1px; + background-color: var(--search-close-icon-fg-color); +} + +.close-icon:before { + transform: rotate(45deg); +} + +.close-icon:after { + transform: rotate(-45deg); +} + + .MSearchBoxActive #MSearchField { color: var(--search-active-color); } +.search-icon { + width: 20px; + height: 20px; + display: inline-block; + position: relative; + margin-left: 3px; +} + +#MSearchSelectExt.search-icon { + width: 10px; +} + +#MSearchSelectExt + input { + margin-left: 5px; +} + +.search-icon::before, .search-icon::after { + content: ''; + position: absolute; + border: 1.5px solid var(--search-foreground-color); + box-sizing: content-box; +} + +.search-icon::before { + width: 6px; + height: 6px; + border-radius: 50%; + top: 7px; + left: 2px; + background: var(--search-background-color); +} + +.search-icon::after { + border: 1px solid var(--search-foreground-color); + width: 0px; + height: 3px; + border-radius: 2px; + top: 15px; + left: 8px; + transform: rotate(-45deg); + transform-origin: top left; +} + +.search-icon-dropdown { + content: ''; + width: 0; + height: 0; + border-left: 3px solid transparent; + border-right: 3px solid transparent; + border-top: 3px solid var(--search-foreground-color); + top: 8px; + left: 15px; + transform: translateX(-50%); + position: absolute; +} + + /*---------------- Search filter selection */ @@ -119,15 +185,12 @@ dark-mode-toggle { left: 0; top: 0; border: 1px solid var(--search-filter-border-color); background-color: var(--search-filter-background-color); + backdrop-filter: var(--search-filter-backdrop-filter); + -webkit-backdrop-filter: var(--search-filter-backdrop-filter); z-index: 10001; padding-top: 4px; padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-radius: 4px; } .SelectItem { @@ -176,18 +239,39 @@ iframe#MSearchResults { height: 15em; } +@keyframes slideInSearchResults { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } +} + #MSearchResultsWindow { display: none; position: absolute; - left: 0; top: 0; + left: auto; + right: 4px; + top: 0; border: 1px solid var(--search-results-border-color); background-color: var(--search-results-background-color); + backdrop-filter: var(--search-results-backdrop-filter); + -webkit-backdrop-filter: var(--search-results-backdrop-filter); z-index:10000; width: 300px; height: 400px; overflow: auto; + border-radius: 8px; + transform: translate(0, 20px); + animation: ease-out 280ms slideInSearchResults; + box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); } + /* ----------------------------------- */ @@ -201,13 +285,13 @@ iframe#MSearchResults { } .SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; + font-size: 10pt; + padding: 2px 5px; } div.SRPage { margin: 5px 2px; - background-color: var(--search-results-background-color); + /*background-color: var(--search-results-background-color);*/ } .SRChildren { @@ -261,14 +345,17 @@ div.searchresults { margin-right: 10px; } +#searchBoxPos1 dark-mode-toggle { + margin-top: 4px; +} + /*---------------- External search page results */ .pages b { - color: white; + color: var(--nav-foreground-color); padding: 5px 5px 3px 5px; - background-image: var(--nav-gradient-active-image-parent); - background-repeat: repeat-x; - text-shadow: 0 1px 1px #000000; + background-color: var(--nav-menu-active-bg); + border-radius: 4px; } .pages { diff --git a/docs/MQTTAsync/html/search/search.js b/docs/MQTTAsync/html/search/search.js index 666af01e..dc14410f 100644 --- a/docs/MQTTAsync/html/search/search.js +++ b/docs/MQTTAsync/html/search/search.js @@ -607,6 +607,12 @@ function createResults(resultsPath) { elem.setAttribute('className',attr); } + const decodeHtml = (html) => { + const txt = document.createElement("textarea"); + txt.innerHTML = html; + return txt.value; + }; + const results = document.getElementById("SRResults"); results.innerHTML = ''; searchData.forEach((elem,index) => { @@ -620,10 +626,14 @@ function createResults(resultsPath) { srLink.setAttribute('id','Item'+index); setKeyActions(srLink,'return searchResults.Nav(event,'+index+')'); setClassAttr(srLink,'SRSymbol'); - srLink.innerHTML = elem[1][0]; + srLink.innerHTML = decodeHtml(elem[1][0]); srEntry.appendChild(srLink); if (elem[1].length==2) { // single result - srLink.setAttribute('href',resultsPath+elem[1][1][0]); + if (elem[1][1][0].startsWith('http://') || elem[1][1][0].startsWith('https://')) { // absolute path + srLink.setAttribute('href',elem[1][1][0]); + } else { // relative path + srLink.setAttribute('href',resultsPath+elem[1][1][0]); + } srLink.setAttribute('onclick','searchBox.CloseResultsWindow()'); if (elem[1][1][1]) { srLink.setAttribute('target','_parent'); @@ -632,7 +642,7 @@ function createResults(resultsPath) { } const srScope = document.createElement('span'); setClassAttr(srScope,'SRScope'); - srScope.innerHTML = elem[1][1][2]; + srScope.innerHTML = decodeHtml(elem[1][1][2]); srEntry.appendChild(srScope); } else { // multiple results srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); @@ -643,14 +653,18 @@ function createResults(resultsPath) { srChild.setAttribute('id','Item'+index+'_c'+c); setKeyActions(srChild,'return searchResults.NavChild(event,'+index+','+c+')'); setClassAttr(srChild,'SRScope'); - srChild.setAttribute('href',resultsPath+elem[1][c+1][0]); + if (elem[1][c+1][0].startsWith('http://') || elem[1][c+1][0].startsWith('https://')) { // absolute path + srChild.setAttribute('href',elem[1][c+1][0]); + } else { // relative path + srChild.setAttribute('href',resultsPath+elem[1][c+1][0]); + } srChild.setAttribute('onclick','searchBox.CloseResultsWindow()'); if (elem[1][c+1][1]) { srChild.setAttribute('target','_parent'); } else { srChild.setAttribute('target','_blank'); } - srChild.innerHTML = elem[1][c+1][2]; + srChild.innerHTML = decodeHtml(elem[1][c+1][2]); srChildren.appendChild(srChild); } srEntry.appendChild(srChildren); diff --git a/docs/MQTTAsync/html/search/variables_0.js b/docs/MQTTAsync/html/search/variables_0.js index 501d1851..0f020e9f 100644 --- a/docs/MQTTAsync/html/search/variables_0.js +++ b/docs/MQTTAsync/html/search/variables_0.js @@ -1,7 +1,7 @@ var searchData= [ ['allowdisconnectedsendatanytime_0',['allowDisconnectedSendAtAnyTime',['../struct_m_q_t_t_async__create_options.html#abe7fdbe18bfd3577a75d3b386d69406c',1,'MQTTAsync_createOptions']]], - ['alt_1',['alt',['../struct_m_q_t_t_async__success_data.html#afbc1fee4467369fefa30cb07047fca14',1,'MQTTAsync_successData::alt'],['../struct_m_q_t_t_async__success_data5.html#a4bde812772718b8051b0d6e2000a5f5c',1,'MQTTAsync_successData5::alt']]], + ['alt_1',['alt',['../struct_m_q_t_t_async__success_data.html#ad22a7604c4fe5747f3e4a8d99f1c6199',1,'MQTTAsync_successData::alt'],['../struct_m_q_t_t_async__success_data5.html#a78a7ba881593588abd2609a3e8586100',1,'MQTTAsync_successData5::alt']]], ['array_2',['array',['../struct_m_q_t_t_properties.html#a3ac4c38b423393c1553dcf8b71e7dd58',1,'MQTTProperties']]], ['automaticreconnect_3',['automaticReconnect',['../struct_m_q_t_t_async__connect_options.html#a7902ce4d11b96d8b19582bdd1f82b630',1,'MQTTAsync_connectOptions']]] ]; diff --git a/docs/MQTTAsync/html/search/variables_1.js b/docs/MQTTAsync/html/search/variables_1.js index 7defe933..400b61a5 100644 --- a/docs/MQTTAsync/html/search/variables_1.js +++ b/docs/MQTTAsync/html/search/variables_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['binarypwd_0',['binarypwd',['../struct_m_q_t_t_async__connect_data.html#ad5c523e5e6dc0105cc7b4a296451915b',1,'MQTTAsync_connectData::binarypwd'],['../struct_m_q_t_t_async__connect_options.html#a3bccd0957cca80fa2200962051093931',1,'MQTTAsync_connectOptions::binarypwd']]], + ['binarypwd_0',['binarypwd',['../struct_m_q_t_t_async__connect_data.html#aa3edd551c0e5be4990edd188efe8a8a5',1,'MQTTAsync_connectData::binarypwd'],['../struct_m_q_t_t_async__connect_options.html#afd475062c6ba7b305ab5f8b7404bba1d',1,'MQTTAsync_connectOptions::binarypwd']]], ['byte_1',['byte',['../struct_m_q_t_t_property.html#a1581cde4f73c9a797ae1e7afcc1bb3de',1,'MQTTProperty']]] ]; diff --git a/docs/MQTTAsync/html/search/variables_11.js b/docs/MQTTAsync/html/search/variables_11.js index 992723d9..89526e5b 100644 --- a/docs/MQTTAsync/html/search/variables_11.js +++ b/docs/MQTTAsync/html/search/variables_11.js @@ -1,5 +1,5 @@ var searchData= [ - ['unsub_0',['unsub',['../struct_m_q_t_t_async__success_data5.html#a46b20b320d6951e567ebf678ea4ac1a3',1,'MQTTAsync_successData5']]], + ['unsub_0',['unsub',['../struct_m_q_t_t_async__success_data5.html#a7c214231611f4882a255f6f20db66c10',1,'MQTTAsync_successData5']]], ['username_1',['username',['../struct_m_q_t_t_async__connect_data.html#aba2dfcdfda80edcb531a5a7115d3e043',1,'MQTTAsync_connectData::username'],['../struct_m_q_t_t_async__connect_options.html#aba2dfcdfda80edcb531a5a7115d3e043',1,'MQTTAsync_connectOptions::username']]] ]; diff --git a/docs/MQTTAsync/html/search/variables_12.js b/docs/MQTTAsync/html/search/variables_12.js index fea75222..f88e556b 100644 --- a/docs/MQTTAsync/html/search/variables_12.js +++ b/docs/MQTTAsync/html/search/variables_12.js @@ -1,5 +1,5 @@ var searchData= [ - ['value_0',['value',['../struct_m_q_t_t_async__name_value.html#a8556878012feffc9e0beb86cd78f424d',1,'MQTTAsync_nameValue::value'],['../struct_m_q_t_t_property.html#a09e85ff5ad73824d6c2edc1ce4283a17',1,'MQTTProperty::value'],['../struct_m_q_t_t_property.html#af2307539b97777bec0475619af5648f1',1,'MQTTProperty::value']]], + ['value_0',['value',['../struct_m_q_t_t_async__name_value.html#a8556878012feffc9e0beb86cd78f424d',1,'MQTTAsync_nameValue::value'],['../struct_m_q_t_t_property.html#a09e85ff5ad73824d6c2edc1ce4283a17',1,'MQTTProperty::value'],['../struct_m_q_t_t_property.html#a45c2b5a45dc4931afcc1d66c7e69699a',1,'MQTTProperty::value']]], ['verify_1',['verify',['../struct_m_q_t_t_async___s_s_l_options.html#a94900629685d5ed08f66fd2931f573ce',1,'MQTTAsync_SSLOptions']]] ]; diff --git a/docs/MQTTAsync/html/search/variables_2.js b/docs/MQTTAsync/html/search/variables_2.js index 393a080d..6393f619 100644 --- a/docs/MQTTAsync/html/search/variables_2.js +++ b/docs/MQTTAsync/html/search/variables_2.js @@ -4,7 +4,7 @@ var searchData= ['cleansession_1',['cleansession',['../struct_m_q_t_t_async__connect_options.html#a036c36a2a4d3a3ffae9ab4dd8b3e7f7b',1,'MQTTAsync_connectOptions']]], ['cleanstart_2',['cleanstart',['../struct_m_q_t_t_async__connect_options.html#acdcb75a5d5981da027bce83849140f7b',1,'MQTTAsync_connectOptions']]], ['code_3',['code',['../struct_m_q_t_t_async__failure_data.html#a45a5b7c00a796a23f01673cef1dbe0a9',1,'MQTTAsync_failureData::code'],['../struct_m_q_t_t_async__failure_data5.html#a45a5b7c00a796a23f01673cef1dbe0a9',1,'MQTTAsync_failureData5::code']]], - ['connect_4',['connect',['../struct_m_q_t_t_async__success_data.html#a028701cd79a4923d1d2172422c022447',1,'MQTTAsync_successData::connect'],['../struct_m_q_t_t_async__success_data5.html#ac73a35b7229f7f4193127cac7b20bc8a',1,'MQTTAsync_successData5::connect']]], + ['connect_4',['connect',['../struct_m_q_t_t_async__success_data.html#a6b6d6711b9a1f4a65eaab327f1a54e6f',1,'MQTTAsync_successData::connect'],['../struct_m_q_t_t_async__success_data5.html#a9818c7454cfd04e1a477472ce72430cc',1,'MQTTAsync_successData5::connect']]], ['connectproperties_5',['connectProperties',['../struct_m_q_t_t_async__connect_options.html#a9f8b7ffb4a698eb151a3b090548b82e8',1,'MQTTAsync_connectOptions']]], ['connecttimeout_6',['connectTimeout',['../struct_m_q_t_t_async__connect_options.html#a38c6aa24b36d981c49405db425c24db0',1,'MQTTAsync_connectOptions']]], ['context_7',['context',['../struct_m_q_t_t_async__response_options.html#ae376f130b17d169ee51be68077a89ed0',1,'MQTTAsync_responseOptions::context'],['../struct_m_q_t_t_async__connect_options.html#ae376f130b17d169ee51be68077a89ed0',1,'MQTTAsync_connectOptions::context'],['../struct_m_q_t_t_async__disconnect_options.html#ae376f130b17d169ee51be68077a89ed0',1,'MQTTAsync_disconnectOptions::context'],['../struct_m_q_t_t_client__persistence.html#ae376f130b17d169ee51be68077a89ed0',1,'MQTTClient_persistence::context']]], diff --git a/docs/MQTTAsync/html/search/variables_c.js b/docs/MQTTAsync/html/search/variables_c.js index a9fb8a9b..c1346163 100644 --- a/docs/MQTTAsync/html/search/variables_c.js +++ b/docs/MQTTAsync/html/search/variables_c.js @@ -2,7 +2,7 @@ var searchData= [ ['packet_5ftype_0',['packet_type',['../struct_m_q_t_t_async__failure_data5.html#a38dfee9f038f473c95af46fcef5dd3e9',1,'MQTTAsync_failureData5']]], ['password_1',['password',['../struct_m_q_t_t_async__connect_options.html#aa4a2ebcb494493f648ae1e6975672575',1,'MQTTAsync_connectOptions']]], - ['payload_2',['payload',['../struct_m_q_t_t_async__message.html#a9eff55064941fb604452abb0050ea99d',1,'MQTTAsync_message::payload'],['../struct_m_q_t_t_async__will_options.html#a93e9de18277b05bc7a033bdee98c908a',1,'MQTTAsync_willOptions::payload']]], + ['payload_2',['payload',['../struct_m_q_t_t_async__message.html#a9eff55064941fb604452abb0050ea99d',1,'MQTTAsync_message::payload'],['../struct_m_q_t_t_async__will_options.html#a9f1569bfec23e48cd9039e2d5e60ebea',1,'MQTTAsync_willOptions::payload']]], ['payloadlen_3',['payloadlen',['../struct_m_q_t_t_async__message.html#aa3cb44feb3ae6d11b3a4cad2d94cb33a',1,'MQTTAsync_message']]], ['pclear_4',['pclear',['../struct_m_q_t_t_client__persistence.html#abc192dc88113c7d933b29d3561badbf5',1,'MQTTClient_persistence']]], ['pclose_5',['pclose',['../struct_m_q_t_t_client__persistence.html#a7e50506912d2ec0e014cc25ec28fb402',1,'MQTTClient_persistence']]], @@ -18,5 +18,5 @@ var searchData= ['properties_15',['properties',['../struct_m_q_t_t_async__message.html#a1594008402f7307e4de8fa6131656dde',1,'MQTTAsync_message::properties'],['../struct_m_q_t_t_async__failure_data5.html#a1594008402f7307e4de8fa6131656dde',1,'MQTTAsync_failureData5::properties'],['../struct_m_q_t_t_async__success_data5.html#a1594008402f7307e4de8fa6131656dde',1,'MQTTAsync_successData5::properties'],['../struct_m_q_t_t_async__response_options.html#a1594008402f7307e4de8fa6131656dde',1,'MQTTAsync_responseOptions::properties'],['../struct_m_q_t_t_async__disconnect_options.html#a1594008402f7307e4de8fa6131656dde',1,'MQTTAsync_disconnectOptions::properties']]], ['protos_16',['protos',['../struct_m_q_t_t_async___s_s_l_options.html#a4f8661600fb8bacf031150f8dcd293a5',1,'MQTTAsync_SSLOptions']]], ['protos_5flen_17',['protos_len',['../struct_m_q_t_t_async___s_s_l_options.html#a26f5d839c92f9772c2a5d05486277a42',1,'MQTTAsync_SSLOptions']]], - ['pub_18',['pub',['../struct_m_q_t_t_async__success_data.html#a7f044c3b839c17a8840cd6f00d7a0e90',1,'MQTTAsync_successData::pub'],['../struct_m_q_t_t_async__success_data5.html#a5c41c63d6c37acbe3c493279c5d4c44a',1,'MQTTAsync_successData5::pub']]] + ['pub_18',['pub',['../struct_m_q_t_t_async__success_data.html#adf90eb13caa8a95700b14503080b5bad',1,'MQTTAsync_successData::pub'],['../struct_m_q_t_t_async__success_data5.html#ab7824c5f96efea17add7da72d4211b6f',1,'MQTTAsync_successData5::pub']]] ]; diff --git a/docs/MQTTAsync/html/search/variables_f.js b/docs/MQTTAsync/html/search/variables_f.js index 8dab4eee..cb81f9cc 100644 --- a/docs/MQTTAsync/html/search/variables_f.js +++ b/docs/MQTTAsync/html/search/variables_f.js @@ -13,7 +13,7 @@ var searchData= ['sslversion_10',['sslVersion',['../struct_m_q_t_t_async___s_s_l_options.html#a3543ea1481b68d73cdde833280bb9c45',1,'MQTTAsync_SSLOptions']]], ['struct_5fid_11',['struct_id',['../struct_m_q_t_t_async__init__options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_init_options::struct_id'],['../struct_m_q_t_t_async__message.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_message::struct_id'],['../struct_m_q_t_t_async__connect_data.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_connectData::struct_id'],['../struct_m_q_t_t_async__failure_data5.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_failureData5::struct_id'],['../struct_m_q_t_t_async__success_data5.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_successData5::struct_id'],['../struct_m_q_t_t_async__response_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_responseOptions::struct_id'],['../struct_m_q_t_t_async__create_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_createOptions::struct_id'],['../struct_m_q_t_t_async__will_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_willOptions::struct_id'],['../struct_m_q_t_t_async___s_s_l_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_SSLOptions::struct_id'],['../struct_m_q_t_t_async__connect_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_connectOptions::struct_id'],['../struct_m_q_t_t_async__disconnect_options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTAsync_disconnectOptions::struct_id'],['../struct_m_q_t_t_subscribe__options.html#aa5326df180cb23c59afbcab711a06479',1,'MQTTSubscribe_options::struct_id']]], ['struct_5fversion_12',['struct_version',['../struct_m_q_t_t_async__init__options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_init_options::struct_version'],['../struct_m_q_t_t_async__message.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_message::struct_version'],['../struct_m_q_t_t_async__connect_data.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_connectData::struct_version'],['../struct_m_q_t_t_async__failure_data5.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_failureData5::struct_version'],['../struct_m_q_t_t_async__success_data5.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_successData5::struct_version'],['../struct_m_q_t_t_async__response_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_responseOptions::struct_version'],['../struct_m_q_t_t_async__create_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_createOptions::struct_version'],['../struct_m_q_t_t_async__will_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_willOptions::struct_version'],['../struct_m_q_t_t_async___s_s_l_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_SSLOptions::struct_version'],['../struct_m_q_t_t_async__connect_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_connectOptions::struct_version'],['../struct_m_q_t_t_async__disconnect_options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTAsync_disconnectOptions::struct_version'],['../struct_m_q_t_t_subscribe__options.html#a0761a5e5be0383882e42924de8e51f82',1,'MQTTSubscribe_options::struct_version']]], - ['sub_13',['sub',['../struct_m_q_t_t_async__success_data5.html#a26c7d90bad0e00a056dff117b9111346',1,'MQTTAsync_successData5']]], + ['sub_13',['sub',['../struct_m_q_t_t_async__success_data5.html#a660a4302870a2be6a557e137670951a2',1,'MQTTAsync_successData5']]], ['subscribeoptions_14',['subscribeOptions',['../struct_m_q_t_t_async__response_options.html#a16a3cd2a8c69669e9ed6e420ccd9c517',1,'MQTTAsync_responseOptions']]], ['subscribeoptionscount_15',['subscribeOptionsCount',['../struct_m_q_t_t_async__response_options.html#a1a4b9bb2780472ec7bb65d0df1bf5d26',1,'MQTTAsync_responseOptions']]], ['subscribeoptionslist_16',['subscribeOptionsList',['../struct_m_q_t_t_async__response_options.html#a98f71c5d03dc5ee86fd9dc0119ccb961',1,'MQTTAsync_responseOptions']]] diff --git a/docs/MQTTAsync/html/splitbar.png b/docs/MQTTAsync/html/splitbar.png deleted file mode 100644 index fe895f2c..00000000 Binary files a/docs/MQTTAsync/html/splitbar.png and /dev/null differ diff --git a/docs/MQTTAsync/html/splitbard.png b/docs/MQTTAsync/html/splitbard.png deleted file mode 100644 index 8367416d..00000000 Binary files a/docs/MQTTAsync/html/splitbard.png and /dev/null differ diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async___s_s_l_options.html b/docs/MQTTAsync/html/struct_m_q_t_t_async___s_s_l_options.html index f19bd341..b5b8812a 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async___s_s_l_options.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async___s_s_l_options.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_SSLOptions Struct Reference - - @@ -34,33 +32,22 @@
    - + -
    #include <MQTTAsync.h>

    - - - - - - - - - - - - - - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    const char * trustStore
     
    const char * keyStore
     
    const char * privateKey
     
    const char * privateKeyPassword
     
    const char * enabledCipherSuites
     
    int enableServerCertAuth
     
    int sslVersion
     
    int verify
     
    const char * CApath
     
    int(* ssl_error_cb )(const char *str, size_t len, void *u)
     
    void * ssl_error_context
     
    unsigned int(* ssl_psk_cb )(const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u)
     
    void * ssl_psk_context
     
    int disableDefaultTrustStore
     
    const unsigned char * protos
     
    unsigned int protos_len
     
    -

    Detailed Description

    +

    Detailed Description

    MQTTAsync_sslProperties defines the settings to establish an SSL/TLS connection using the OpenSSL library. It covers the following scenarios:

    • Server authentication: The client needs the digital certificate of the server. It is included in a store containting trusted material (also known as "trust store").
    • Mutual authentication: Both client and server are authenticated during the SSL handshake. In addition to the digital certificate of the server in a trust store, the client will need its own digital certificate and the private key used to sign its digital certificate stored in a "key store".
    • Anonymous connection: Both client and server do not get authenticated and no credentials are needed to establish an SSL connection. Note that this scenario is not fully secure since it is subject to man-in-the-middle attacks.
    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -415,7 +384,7 @@ Data Fields
    diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__connect_data.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__connect_data.html index 549bda73..35d6a7cc 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__connect_data.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__connect_data.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_connectData Struct Reference - - @@ -34,33 +32,22 @@
    - + -
    #include <MQTTAsync.h>

    - - - - - - - - - - - - + + + +

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    const char * username
     
    struct { 
     
       int   len 
     
       const void *   data 
     
    binarypwd 
     
    struct { 
       int   len 
       const void *   data 
    binarypwd
    -

    Detailed Description

    +

    Detailed Description

    The connect options that can be updated before an automatic reconnect.

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -188,8 +168,8 @@ Data Fields
    - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -209,7 +189,7 @@ Data Fields
    diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__connect_options.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__connect_options.html index fb360024..4325b19c 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__connect_options.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__connect_options.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_connectOptions Struct Reference - - @@ -34,33 +32,22 @@
    - + -
    #include <MQTTAsync.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    int keepAliveInterval
     
    int cleansession
     
    int maxInflight
     
    MQTTAsync_willOptionswill
     
    const char * username
     
    const char * password
     
    int connectTimeout
     
    int retryInterval
     
    MQTTAsync_SSLOptionsssl
     
    MQTTAsync_onSuccessonSuccess
     
    MQTTAsync_onFailureonFailure
     
    void * context
     
    int serverURIcount
     
    char *const * serverURIs
     
    int MQTTVersion
     
    int automaticReconnect
     
    int minRetryInterval
     
    int maxRetryInterval
     
    struct { 
     
       int   len 
     
       const void *   data 
     
    binarypwd 
     
    struct { 
       int   len 
       const void *   data 
    binarypwd
    int cleanstart
     
    MQTTPropertiesconnectProperties
     
    MQTTPropertieswillProperties
     
    MQTTAsync_onSuccess5onSuccess5
     
    MQTTAsync_onFailure5onFailure5
     
    const MQTTAsync_nameValuehttpHeaders
     
    const char * httpProxy
     
    const char * httpsProxy
     
    -

    Detailed Description

    +

    Detailed Description

    MQTTAsync_connectOptions defines several settings that control the way the client connects to an MQTT server.

    Suitable default values are set in the following initializers:

    • MQTTAsync_connectOptions_initializer: for MQTT 3.1.1 non-WebSockets
    • @@ -168,7 +123,7 @@ Data Fields
    • MQTTAsync_connectOptions_initializer_ws: for MQTT 3.1.1 WebSockets
    • MQTTAsync_connectOptions_initializer5_ws: for MQTT 5.0 WebSockets
    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -502,8 +457,8 @@ Data Fields
    - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -645,7 +600,7 @@ Data Fields
    diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__create_options.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__create_options.html index 2165944c..e153b03a 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__create_options.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__create_options.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_createOptions Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - - - - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    int sendWhileDisconnected
     
    int maxBufferedMessages
     
    int MQTTVersion
     
    int allowDisconnectedSendAtAnyTime
     
    int deleteOldestMessages
     
    int restoreMessages
     
    int persistQoS0
     
    -

    Detailed Description

    +

    Detailed Description

    Options for the MQTTAsync_createWithOptions call

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -188,8 +166,7 @@ Data Fields
    -

    Whether the MQTT version is 3.1, 3.1.1, or 5. To use V5, this must be set. MQTT V5 has to be chosen here, because during the create call the message persistence is initialized, and we want to know whether the format of any persisted messages is appropriate for the MQTT version we are going to connect with. Selecting 3.1 or 3.1.1 and attempting to read 5.0 persisted messages will result in an error on create.
    -

    +

    Whether the MQTT version is 3.1, 3.1.1, or 5. To use V5, this must be set. MQTT V5 has to be chosen here, because during the create call the message persistence is initialized, and we want to know whether the format of any persisted messages is appropriate for the MQTT version we are going to connect with. Selecting 3.1 or 3.1.1 and attempting to read 5.0 persisted messages will result in an error on create.

    @@ -256,7 +233,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__disconnect_options.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__disconnect_options.html index d43144d2..758ccffb 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__disconnect_options.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__disconnect_options.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_disconnectOptions Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - - - - - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    int timeout
     
    MQTTAsync_onSuccessonSuccess
     
    MQTTAsync_onFailureonFailure
     
    void * context
     
    MQTTProperties properties
     
    enum MQTTReasonCodes reasonCode
     
    MQTTAsync_onSuccess5onSuccess5
     
    MQTTAsync_onFailure5onFailure5
     
    -

    Detailed Description

    +

    Detailed Description

    Options for the MQTTAsync_disconnect call

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -276,7 +253,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__failure_data.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__failure_data.html index 7685c315..87e6b47f 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__failure_data.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__failure_data.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_failureData Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - - -

    +

    Data Fields

    MQTTAsync_token token
     
    int code
     
    const char * message
     
    -

    Detailed Description

    +

    Detailed Description

    The data returned on completion of an unsuccessful API call in the response callback onFailure.

    -

    Field Documentation

    +

    Field Documentation

    ◆ token

    @@ -156,7 +140,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__failure_data5.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__failure_data5.html index 04855db7..30c44222 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__failure_data5.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__failure_data5.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_failureData5 Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - - - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    MQTTAsync_token token
     
    enum MQTTReasonCodes reasonCode
     
    MQTTProperties properties
     
    int code
     
    const char * message
     
    int packet_type
     
    -

    Detailed Description

    +

    Detailed Description

    The data returned on completion of an unsuccessful API call in the response callback onFailure.

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -241,7 +220,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__init__options.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__init__options.html index f97ba68c..c115e0af 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__init__options.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__init__options.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_init_options Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    int do_openssl_init
     
    -

    Detailed Description

    +

    Detailed Description

    Initialization options

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -156,7 +140,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__message.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__message.html index ddf737b9..f41a6dc1 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__message.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__message.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_message Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - - - - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    int payloadlen
     
    void * payload
     
    int qos
     
    int retained
     
    int dup
     
    int msgid
     
    MQTTProperties properties
     
    -

    Detailed Description

    +

    Detailed Description

    A structure representing the payload and attributes of an MQTT message. The message topic is not part of this structure (see MQTTAsync_publishMessage(), MQTTAsync_publish(), MQTTAsync_receive(), MQTTAsync_freeMessage() and MQTTAsync_messageArrived()).

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -269,7 +247,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__name_value.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__name_value.html index 81df1686..12a0eca3 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__name_value.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__name_value.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_nameValue Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - -

    +

    Data Fields

    const char * name
     
    const char * value
     
    -

    Detailed Description

    +

    Detailed Description

    Utility structure where name/value pairs are needed

    -

    Field Documentation

    +

    Field Documentation

    ◆ name

    @@ -139,7 +124,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__response_options.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__response_options.html index 47c960b3..17edaaa2 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__response_options.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__response_options.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_responseOptions Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - - - - - - - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    MQTTAsync_onSuccessonSuccess
     
    MQTTAsync_onFailureonFailure
     
    void * context
     
    MQTTAsync_token token
     
    MQTTAsync_onSuccess5onSuccess5
     
    MQTTAsync_onFailure5onFailure5
     
    MQTTProperties properties
     
    MQTTSubscribe_options subscribeOptions
     
    int subscribeOptionsCount
     
    MQTTSubscribe_optionssubscribeOptionsList
     
    -

    Detailed Description

    +

    Detailed Description

    Structure to define call options. For MQTT 5.0 there is input data as well as that describing the response method. So there is now also a synonym MQTTAsync_callOptions to better reflect the use. This responseOptions name is kept for backward compatibility.

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -306,7 +281,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__success_data.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__success_data.html index 72216909..ccd3e2fa 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__success_data.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__success_data.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_successData Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +

    +

    Data Fields

    MQTTAsync_token token
     
    union { 
     
       int   qos 
     
       int *   qosList 
     
       struct { 
     
          MQTTAsync_message   message 
     
          char *   destinationName 
     
       }   pub 
     
       struct { 
     
          char *   serverURI 
     
          int   MQTTVersion 
     
          int   sessionPresent 
     
       }   connect 
     
    alt 
     
    union { 
       int   qos 
       int *   qosList 
       struct { 
          MQTTAsync_message   message 
          char *   destinationName 
       }   pub
       struct { 
          char *   serverURI 
          int   MQTTVersion 
          int   sessionPresent 
       }   connect
    alt
    -

    Detailed Description

    +

    Detailed Description

    The data returned on completion of a successful API call in the response callback onSuccess.

    -

    Field Documentation

    +

    Field Documentation

    ◆ token

    @@ -202,8 +175,8 @@ Data Fields - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -262,8 +235,8 @@ Data Fields
    - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -276,8 +249,8 @@ Data Fields
    - -

    ◆ [union]

    + +

    ◆ [union]

    @@ -297,7 +270,7 @@ Data Fields
    diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__success_data5.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__success_data5.html index 7b6dc147..b76abd41 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__success_data5.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__success_data5.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_successData5 Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    MQTTAsync_token token
     
    enum MQTTReasonCodes reasonCode
     
    MQTTProperties properties
     
    union { 
     
       struct { 
     
          int   reasonCodeCount 
     
          enum MQTTReasonCodes *   reasonCodes 
     
       }   sub 
     
       struct { 
     
          MQTTAsync_message   message 
     
          char *   destinationName 
     
       }   pub 
     
       struct { 
     
          char *   serverURI 
     
          int   MQTTVersion 
     
          int   sessionPresent 
     
       }   connect 
     
       struct { 
     
          int   reasonCodeCount 
     
          enum MQTTReasonCodes *   reasonCodes 
     
       }   unsub 
     
    alt 
     
    union { 
       struct { 
          int   reasonCodeCount 
          enum MQTTReasonCodes *   reasonCodes 
       }   sub
       struct { 
          MQTTAsync_message   message 
          char *   destinationName 
       }   pub
       struct { 
          char *   serverURI 
          int   MQTTVersion 
          int   sessionPresent 
       }   connect
       struct { 
          int   reasonCodeCount 
          enum MQTTReasonCodes *   reasonCodes 
       }   unsub
    alt
    -

    Detailed Description

    +

    Detailed Description

    The data returned on completion of a successful API call in the response callback onSuccess.

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -252,8 +215,8 @@ Data Fields - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -297,8 +260,8 @@ Data Fields
    - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -357,8 +320,8 @@ Data Fields
    - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -371,8 +334,8 @@ Data Fields
    - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -386,8 +349,8 @@ Data Fields
    - -

    ◆ [union]

    + +

    ◆ [union]

    @@ -407,7 +370,7 @@ Data Fields
    diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_async__will_options.html b/docs/MQTTAsync/html/struct_m_q_t_t_async__will_options.html index de986119..1b8beaba 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_async__will_options.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_async__will_options.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTAsync_willOptions Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTAsync.h>

    - - - - - - - - - - - - - - - + + + +

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    const char * topicName
     
    const char * message
     
    int retained
     
    int qos
     
    struct { 
     
       int   len 
     
       const void *   data 
     
    payload 
     
    struct { 
       int   len 
       const void *   data 
    payload
    -

    Detailed Description

    +

    Detailed Description

    MQTTAsync_willOptions defines the MQTT "Last Will and Testament" (LWT) settings for the client. In the event that a client unexpectedly loses its connection to the server, the server publishes the LWT message to the LWT topic on behalf of the client. This allows other clients (subscribed to the LWT topic) to be made aware that the client has disconnected. To enable the LWT function for a specific client, a valid pointer to an MQTTAsync_willOptions structure is passed in the MQTTAsync_connectOptions structure used in the MQTTAsync_connect() call that connects the client to the server. The pointer to MQTTAsync_willOptions can be set to NULL if the LWT function is not required.

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -239,8 +216,8 @@ Data Fields - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -260,7 +237,7 @@ Data Fields
    diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_client__persistence.html b/docs/MQTTAsync/html/struct_m_q_t_t_client__persistence.html index 80286e47..06038290 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_client__persistence.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_client__persistence.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTClient_persistence Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTClientPersistence.h>

    - - - - - - - - - -

    +

    Data Fields

    void * context
     
    Persistence_open popen
     
    Persistence_close pclose
     
    Persistence_put pput
     
    Persistence_get pget
     
    Persistence_remove premove
     
    Persistence_keys pkeys
     
    Persistence_clear pclear
     
    Persistence_containskey pcontainskey
     
    -

    Detailed Description

    +

    Detailed Description

    A structure containing the function pointers to a persistence implementation and the context or state that will be shared across all the persistence functions.

    -

    Field Documentation

    +

    Field Documentation

    ◆ context

    @@ -261,7 +239,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_len_string.html b/docs/MQTTAsync/html/struct_m_q_t_t_len_string.html index 8def9960..0bac4c32 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_len_string.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_len_string.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTLenString Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTProperties.h>

    - - -

    +

    Data Fields

    int len
     
    char * data
     
    -

    Detailed Description

    +

    Detailed Description

    The data for a length delimited string

    -

    Field Documentation

    +

    Field Documentation

    ◆ len

    @@ -139,7 +124,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_properties.html b/docs/MQTTAsync/html/struct_m_q_t_t_properties.html index 34acffdc..abd608c9 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_properties.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_properties.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTProperties Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTProperties.h>

    - - - - -

    +

    Data Fields

    int count
     
    int max_count
     
    int length
     
    MQTTPropertyarray
     
    -

    Detailed Description

    +

    Detailed Description

    MQTT version 5 property list

    -

    Field Documentation

    +

    Field Documentation

    ◆ count

    @@ -173,7 +156,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_property.html b/docs/MQTTAsync/html/struct_m_q_t_t_property.html index d6e46688..12189a7a 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_property.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_property.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTProperty Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTProperties.h>

    - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

    +

    Data Fields

    enum MQTTPropertyCodes identifier
     
    union { 
     
       unsigned char   byte 
     
       unsigned short   integer2 
     
       unsigned int   integer4 
     
       struct { 
     
          MQTTLenString   data 
     
          MQTTLenString   value 
     
       }  
     
    value 
     
    union { 
       unsigned char   byte 
       unsigned short   integer2 
       unsigned int   integer4 
       struct { 
          MQTTLenString   data 
          MQTTLenString   value 
       } 
    value
    -

    Detailed Description

    +

    Detailed Description

    Structure to hold an MQTT version 5 property of any type

    -

    Field Documentation

    +

    Field Documentation

    ◆ identifier

    @@ -209,8 +186,8 @@ Data Fields - -

    ◆ [union] [2/2]

    + +

    ◆ [union] [2/2]

    @@ -230,7 +207,7 @@ Data Fields
    diff --git a/docs/MQTTAsync/html/struct_m_q_t_t_subscribe__options.html b/docs/MQTTAsync/html/struct_m_q_t_t_subscribe__options.html index 01042e86..01c09bd0 100644 --- a/docs/MQTTAsync/html/struct_m_q_t_t_subscribe__options.html +++ b/docs/MQTTAsync/html/struct_m_q_t_t_subscribe__options.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: MQTTSubscribe_options Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTSubscribeOpts.h>

    - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    unsigned char noLocal
     
    unsigned char retainAsPublished
     
    unsigned char retainHandling
     
    -

    Detailed Description

    +

    Detailed Description

    The MQTT V5 subscribe options, apart from QoS which existed before V5.

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -190,7 +172,7 @@ Data Fields diff --git a/docs/MQTTAsync/html/subscribe.html b/docs/MQTTAsync/html/subscribe.html index dd903bd1..6d348bf3 100644 --- a/docs/MQTTAsync/html/subscribe.html +++ b/docs/MQTTAsync/html/subscribe.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Subscription example - - @@ -34,33 +32,22 @@ - + -
    -
    Subscription example
    +
    Subscription example
    #include <stdio.h>
    @@ -103,7 +90,7 @@ $(function(){ initResizable(false); });
    #include <OsWrapper.h>
    #endif
    -
    #define ADDRESS "tcp://mqtt.eclipseprojects.io:1883"
    +
    #define ADDRESS "tcp://test.mosquitto.org:1883"
    #define CLIENTID "ExampleClientSub"
    #define TOPIC "MQTT Examples"
    #define PAYLOAD "Hello World!"
    @@ -308,7 +295,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTAsync/html/sync_off.png b/docs/MQTTAsync/html/sync_off.png deleted file mode 100644 index 3b443fc6..00000000 Binary files a/docs/MQTTAsync/html/sync_off.png and /dev/null differ diff --git a/docs/MQTTAsync/html/sync_on.png b/docs/MQTTAsync/html/sync_on.png deleted file mode 100644 index e08320fb..00000000 Binary files a/docs/MQTTAsync/html/sync_on.png and /dev/null differ diff --git a/docs/MQTTAsync/html/tab_a.png b/docs/MQTTAsync/html/tab_a.png deleted file mode 100644 index 3b725c41..00000000 Binary files a/docs/MQTTAsync/html/tab_a.png and /dev/null differ diff --git a/docs/MQTTAsync/html/tab_ad.png b/docs/MQTTAsync/html/tab_ad.png deleted file mode 100644 index e34850ac..00000000 Binary files a/docs/MQTTAsync/html/tab_ad.png and /dev/null differ diff --git a/docs/MQTTAsync/html/tab_b.png b/docs/MQTTAsync/html/tab_b.png deleted file mode 100644 index e2b4a863..00000000 Binary files a/docs/MQTTAsync/html/tab_b.png and /dev/null differ diff --git a/docs/MQTTAsync/html/tab_bd.png b/docs/MQTTAsync/html/tab_bd.png deleted file mode 100644 index 91c25249..00000000 Binary files a/docs/MQTTAsync/html/tab_bd.png and /dev/null differ diff --git a/docs/MQTTAsync/html/tab_h.png b/docs/MQTTAsync/html/tab_h.png deleted file mode 100644 index fd5cb705..00000000 Binary files a/docs/MQTTAsync/html/tab_h.png and /dev/null differ diff --git a/docs/MQTTAsync/html/tab_hd.png b/docs/MQTTAsync/html/tab_hd.png deleted file mode 100644 index 2489273d..00000000 Binary files a/docs/MQTTAsync/html/tab_hd.png and /dev/null differ diff --git a/docs/MQTTAsync/html/tab_s.png b/docs/MQTTAsync/html/tab_s.png deleted file mode 100644 index ab478c95..00000000 Binary files a/docs/MQTTAsync/html/tab_s.png and /dev/null differ diff --git a/docs/MQTTAsync/html/tab_sd.png b/docs/MQTTAsync/html/tab_sd.png deleted file mode 100644 index 757a565c..00000000 Binary files a/docs/MQTTAsync/html/tab_sd.png and /dev/null differ diff --git a/docs/MQTTAsync/html/tabs.css b/docs/MQTTAsync/html/tabs.css index 7fa4268a..84f33ae7 100644 --- a/docs/MQTTAsync/html/tabs.css +++ b/docs/MQTTAsync/html/tabs.css @@ -1 +1 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-color:var(--nav-menu-background-color)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;line-height:36px;text-decoration:none;color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-color:var(--nav-menu-background-color);line-height:36px}.sm-dox a span.sub-arrow{top:15px;right:10px;box-sizing:content-box;padding:0;margin:0;display:inline-block;width:5px;height:5px;background-color:var(--nav-menu-background-color);border-right:2px solid var(--nav-arrow-color);border-bottom:2px solid var(--nav-arrow-color);transform:rotate(45deg);-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 6px}.sm-dox a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px !important}.sm-dox a:hover span.sub-arrow{background-color:var(--nav-menu-active-bg);border-right:2px solid var(--nav-arrow-selected-color);border-bottom:2px solid var(--nav-arrow-selected-color)}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0;padding:3px}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{transform:rotate(-45deg)}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:6px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:6px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} diff --git a/docs/MQTTAsync/html/tracing.html b/docs/MQTTAsync/html/tracing.html index a660b8d8..8c652c7b 100644 --- a/docs/MQTTAsync/html/tracing.html +++ b/docs/MQTTAsync/html/tracing.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Tracing - - @@ -34,33 +32,22 @@
    - + -
    -
    Tracing
    +
    Tracing

    Runtime tracing can be controlled by environment variables or API calls.

    @@ -162,7 +149,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTAsync/html/wildcard.html b/docs/MQTTAsync/html/wildcard.html index 8495a44e..e8ec6d30 100644 --- a/docs/MQTTAsync/html/wildcard.html +++ b/docs/MQTTAsync/html/wildcard.html @@ -3,15 +3,13 @@ - + Paho Asynchronous MQTT C Client Library: Subscription wildcards - - @@ -34,33 +32,22 @@
    - + -
    -
    Subscription wildcards
    +
    Subscription wildcards

    Every MQTT message includes a topic that classifies it. MQTT servers use topics to determine which subscribers should receive messages published to the server.

    @@ -103,7 +90,7 @@ A '+' character represents a single level of the hierarchy and is used between d
    diff --git a/docs/MQTTAsync/man/man3/MQTTAsync.h.3 b/docs/MQTTAsync/man/man3/MQTTAsync.h.3 index 74c3b553..836e49bb 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync.h.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync.h.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync.h" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync.h" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -403,13 +403,13 @@ Return code: protocol prefix in serverURI should be: .IP "\(bu" 1 \fItcp://\fP or \fImqtt://\fP - Insecure TCP .IP "\(bu" 1 -\fIssl://\fP or \fImqtts://\fP - Encrypted SSL/TLS +\fIssl://\fP or \fItls://\fP or \fImqtts://\fP - Encrypted SSL/TLS .IP "\(bu" 1 \fIws://\fP - Insecure websockets .IP "\(bu" 1 \fIwss://\fP - Secure web sockets .PP -The TLS enabled prefixes (ssl, mqtts, wss) are only valid if the TLS version of the library is linked with\&. +The TLS enabled prefixes (ssl, tls, mqtts, wss) are only valid if the TLS version of the library is linked with\&. .SS "#define MQTTASYNC_BAD_MQTT_OPTION \-15" Return code: don't use options for another version of MQTT .SS "#define MQTTASYNC_WRONG_MQTT_VERSION \-16" diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_SSLOptions.3 b/docs/MQTTAsync/man/man3/MQTTAsync_SSLOptions.3 index 1643f3df..2b65bd5f 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_SSLOptions.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_SSLOptions.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_SSLOptions" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_SSLOptions" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -70,9 +70,9 @@ MQTTAsync_SSLOptions .PP MQTTAsync_sslProperties defines the settings to establish an SSL/TLS connection using the OpenSSL library\&. It covers the following scenarios: .IP "\(bu" 2 -Server authentication: The client needs the digital certificate of the server\&. It is included in a store containting trusted material (also known as 'trust store')\&. +Server authentication: The client needs the digital certificate of the server\&. It is included in a store containting trusted material (also known as "trust store")\&. .IP "\(bu" 2 -Mutual authentication: Both client and server are authenticated during the SSL handshake\&. In addition to the digital certificate of the server in a trust store, the client will need its own digital certificate and the private key used to sign its digital certificate stored in a 'key store'\&. +Mutual authentication: Both client and server are authenticated during the SSL handshake\&. In addition to the digital certificate of the server in a trust store, the client will need its own digital certificate and the private key used to sign its digital certificate stored in a "key store"\&. .IP "\(bu" 2 Anonymous connection: Both client and server do not get authenticated and no credentials are needed to establish an SSL connection\&. Note that this scenario is not fully secure since it is subject to man-in-the-middle attacks\&. .PP @@ -92,7 +92,7 @@ If not included in the sslKeyStore, this setting points to the file in PEM forma .SS "const char* privateKeyPassword" The password to load the client's privateKey if encrypted\&. .SS "const char* enabledCipherSuites" -The list of cipher suites that the client will present to the server during the SSL handshake\&. For a full explanation of the cipher list format, please see the OpenSSL on-line documentation: http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT If this setting is ommitted, its default value will be 'ALL', that is, all the cipher suites -excluding those offering no encryption- will be considered\&. This setting can be used to set an SSL anonymous connection ('aNULL' string value, for instance)\&. +The list of cipher suites that the client will present to the server during the SSL handshake\&. For a full explanation of the cipher list format, please see the OpenSSL on-line documentation: http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT If this setting is ommitted, its default value will be "ALL", that is, all the cipher suites -excluding those offering no encryption- will be considered\&. This setting can be used to set an SSL anonymous connection ("aNULL" string value, for instance)\&. .SS "int enableServerCertAuth" True/False option to enable verification of the server certificate .SS "int sslVersion" diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_connectData.3 b/docs/MQTTAsync/man/man3/MQTTAsync_connectData.3 index 24023fcd..a6b2c243 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_connectData.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_connectData.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_connectData" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_connectData" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_connectOptions.3 b/docs/MQTTAsync/man/man3/MQTTAsync_connectOptions.3 index d3c28d05..ffbc011f 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_connectOptions.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_connectOptions.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_connectOptions" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_connectOptions" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -131,9 +131,9 @@ The eyecatcher for this structure\&. must be MQTC\&. .SS "int struct_version" The version number of this structure\&. Must be 0, 1, 2, 3 4 5 6, 7 or 8\&. 0 signifies no SSL options and no serverURIs 1 signifies no serverURIs 2 signifies no MQTTVersion 3 signifies no automatic reconnect options 4 signifies no binary password option (just string) 5 signifies no MQTTV5 properties 6 signifies no HTTP headers option 7 signifies no HTTP proxy and HTTPS proxy options .SS "int keepAliveInterval" -The 'keep alive' interval, measured in seconds, defines the maximum time that should pass without communication between the client and the server The client will ensure that at least one message travels across the network within each keep alive period\&. In the absence of a data-related message during the time period, the client sends a very small MQTT 'ping' message, which the server will acknowledge\&. The keep alive interval enables the client to detect when the server is no longer available without having to wait for the long TCP/IP timeout\&. Set to 0 if you do not want any keep alive processing\&. +The "keep alive" interval, measured in seconds, defines the maximum time that should pass without communication between the client and the server The client will ensure that at least one message travels across the network within each keep alive period\&. In the absence of a data-related message during the time period, the client sends a very small MQTT "ping" message, which the server will acknowledge\&. The keep alive interval enables the client to detect when the server is no longer available without having to wait for the long TCP/IP timeout\&. Set to 0 if you do not want any keep alive processing\&. .SS "int cleansession" -This is a boolean value\&. The cleansession setting controls the behaviour of both the client and the server at connection and disconnection time\&. The client and server both maintain session state information\&. This information is used to ensure 'at least once' and 'exactly once' delivery, and 'exactly once' receipt of messages\&. Session state also includes subscriptions created by an MQTT client\&. You can choose to maintain or discard state information between sessions\&. +This is a boolean value\&. The cleansession setting controls the behaviour of both the client and the server at connection and disconnection time\&. The client and server both maintain session state information\&. This information is used to ensure "at least once" and "exactly once" delivery, and "exactly once" receipt of messages\&. Session state also includes subscriptions created by an MQTT client\&. You can choose to maintain or discard state information between sessions\&. .PP When cleansession is true, the state information is discarded at connect and disconnect\&. Setting cleansession to false keeps the state information\&. When you connect an MQTT client application with \fBMQTTAsync_connect()\fP, the client identifies the connection using the client identifier and the address of the server\&. The server checks whether session information for this client has been saved from a previous connection to the server\&. If a previous session still exists, and cleansession=true, then the previous session information at the client and server is cleared\&. If cleansession=false, the previous session is resumed\&. If no previous session exists, a new session is started\&. diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_createOptions.3 b/docs/MQTTAsync/man/man3/MQTTAsync_createOptions.3 index 41b1303e..ea6594c0 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_createOptions.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_createOptions.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_createOptions" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_createOptions" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -54,8 +54,6 @@ Whether to allow messages to be sent when the client library is not connected\&. The maximum number of messages allowed to be buffered\&. This is intended to be used to limit the number of messages queued while the client is not connected\&. It also applies when the client is connected, however, so has to be greater than 0\&. .SS "int MQTTVersion" Whether the MQTT version is 3\&.1, 3\&.1\&.1, or 5\&. To use V5, this must be set\&. MQTT V5 has to be chosen here, because during the create call the message persistence is initialized, and we want to know whether the format of any persisted messages is appropriate for the MQTT version we are going to connect with\&. Selecting 3\&.1 or 3\&.1\&.1 and attempting to read 5\&.0 persisted messages will result in an error on create\&. -.br - .SS "int allowDisconnectedSendAtAnyTime" Allow sending of messages while disconnected before a first successful connect\&. .SS "int deleteOldestMessages" diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_disconnectOptions.3 b/docs/MQTTAsync/man/man3/MQTTAsync_disconnectOptions.3 index 94604a16..30913486 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_disconnectOptions.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_disconnectOptions.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_disconnectOptions" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_disconnectOptions" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_failureData.3 b/docs/MQTTAsync/man/man3/MQTTAsync_failureData.3 index 035f4c0f..f4396077 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_failureData.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_failureData.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_failureData" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_failureData" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_failureData5.3 b/docs/MQTTAsync/man/man3/MQTTAsync_failureData5.3 index 38929a98..111e7bf8 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_failureData5.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_failureData5.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_failureData5" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_failureData5" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_init_options.3 b/docs/MQTTAsync/man/man3/MQTTAsync_init_options.3 index b261d262..76b1aa38 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_init_options.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_init_options.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_init_options" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_init_options" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_message.3 b/docs/MQTTAsync/man/man3/MQTTAsync_message.3 index fa575950..cdecff88 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_message.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_message.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_message" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_message" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_nameValue.3 b/docs/MQTTAsync/man/man3/MQTTAsync_nameValue.3 index 5926cd69..2bc2a940 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_nameValue.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_nameValue.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_nameValue" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_nameValue" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_responseOptions.3 b/docs/MQTTAsync/man/man3/MQTTAsync_responseOptions.3 index 778908e7..aa250b46 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_responseOptions.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_responseOptions.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_responseOptions" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_responseOptions" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_successData.3 b/docs/MQTTAsync/man/man3/MQTTAsync_successData.3 index e199bc4d..5753a157 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_successData.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_successData.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_successData" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_successData" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_successData5.3 b/docs/MQTTAsync/man/man3/MQTTAsync_successData5.3 index 4e2180ac..5ccd5c6f 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_successData5.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_successData5.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_successData5" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_successData5" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTAsync_willOptions.3 b/docs/MQTTAsync/man/man3/MQTTAsync_willOptions.3 index aabcdc3a..f1733108 100644 --- a/docs/MQTTAsync/man/man3/MQTTAsync_willOptions.3 +++ b/docs/MQTTAsync/man/man3/MQTTAsync_willOptions.3 @@ -1,4 +1,4 @@ -.TH "MQTTAsync_willOptions" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTAsync_willOptions" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -44,7 +44,7 @@ MQTTAsync_willOptions .in -1c .SH "Detailed Description" .PP -\fBMQTTAsync_willOptions\fP defines the MQTT 'Last Will and Testament' (LWT) settings for the client\&. In the event that a client unexpectedly loses its connection to the server, the server publishes the LWT message to the LWT topic on behalf of the client\&. This allows other clients (subscribed to the LWT topic) to be made aware that the client has disconnected\&. To enable the LWT function for a specific client, a valid pointer to an \fBMQTTAsync_willOptions\fP structure is passed in the \fBMQTTAsync_connectOptions\fP structure used in the \fBMQTTAsync_connect()\fP call that connects the client to the server\&. The pointer to \fBMQTTAsync_willOptions\fP can be set to NULL if the LWT function is not required\&. +\fBMQTTAsync_willOptions\fP defines the MQTT "Last Will and Testament" (LWT) settings for the client\&. In the event that a client unexpectedly loses its connection to the server, the server publishes the LWT message to the LWT topic on behalf of the client\&. This allows other clients (subscribed to the LWT topic) to be made aware that the client has disconnected\&. To enable the LWT function for a specific client, a valid pointer to an \fBMQTTAsync_willOptions\fP structure is passed in the \fBMQTTAsync_connectOptions\fP structure used in the \fBMQTTAsync_connect()\fP call that connects the client to the server\&. The pointer to \fBMQTTAsync_willOptions\fP can be set to NULL if the LWT function is not required\&. .SH "Field Documentation" .PP .SS "char struct_id[4]" diff --git a/docs/MQTTAsync/man/man3/MQTTClientPersistence.h.3 b/docs/MQTTAsync/man/man3/MQTTClientPersistence.h.3 index 0e7eb491..b4e9949a 100644 --- a/docs/MQTTAsync/man/man3/MQTTClientPersistence.h.3 +++ b/docs/MQTTAsync/man/man3/MQTTClientPersistence.h.3 @@ -1,4 +1,4 @@ -.TH "MQTTClientPersistence.h" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClientPersistence.h" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTClient_persistence.3 b/docs/MQTTAsync/man/man3/MQTTClient_persistence.3 index c824d503..7539fb1c 100644 --- a/docs/MQTTAsync/man/man3/MQTTClient_persistence.3 +++ b/docs/MQTTAsync/man/man3/MQTTClient_persistence.3 @@ -1,4 +1,4 @@ -.TH "MQTTClient_persistence" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClient_persistence" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTLenString.3 b/docs/MQTTAsync/man/man3/MQTTLenString.3 index 1bb42644..dc167420 100644 --- a/docs/MQTTAsync/man/man3/MQTTLenString.3 +++ b/docs/MQTTAsync/man/man3/MQTTLenString.3 @@ -1,4 +1,4 @@ -.TH "MQTTLenString" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTLenString" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTProperties.3 b/docs/MQTTAsync/man/man3/MQTTProperties.3 index 713a7b6e..c2033740 100644 --- a/docs/MQTTAsync/man/man3/MQTTProperties.3 +++ b/docs/MQTTAsync/man/man3/MQTTProperties.3 @@ -1,4 +1,4 @@ -.TH "MQTTProperties" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTProperties" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTProperties.h.3 b/docs/MQTTAsync/man/man3/MQTTProperties.h.3 index 1bcc29ae..6c122781 100644 --- a/docs/MQTTAsync/man/man3/MQTTProperties.h.3 +++ b/docs/MQTTAsync/man/man3/MQTTProperties.h.3 @@ -1,4 +1,4 @@ -.TH "MQTTProperties.h" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTProperties.h" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTProperty.3 b/docs/MQTTAsync/man/man3/MQTTProperty.3 index f5526474..088fc959 100644 --- a/docs/MQTTAsync/man/man3/MQTTProperty.3 +++ b/docs/MQTTAsync/man/man3/MQTTProperty.3 @@ -1,4 +1,4 @@ -.TH "MQTTProperty" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTProperty" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTReasonCodes.h.3 b/docs/MQTTAsync/man/man3/MQTTReasonCodes.h.3 index 26c93b7e..687408b8 100644 --- a/docs/MQTTAsync/man/man3/MQTTReasonCodes.h.3 +++ b/docs/MQTTAsync/man/man3/MQTTReasonCodes.h.3 @@ -1,4 +1,4 @@ -.TH "MQTTReasonCodes.h" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTReasonCodes.h" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTSubscribeOpts.h.3 b/docs/MQTTAsync/man/man3/MQTTSubscribeOpts.h.3 index 82c4b194..9c3199aa 100644 --- a/docs/MQTTAsync/man/man3/MQTTSubscribeOpts.h.3 +++ b/docs/MQTTAsync/man/man3/MQTTSubscribeOpts.h.3 @@ -1,4 +1,4 @@ -.TH "MQTTSubscribeOpts.h" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTSubscribeOpts.h" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/MQTTSubscribe_options.3 b/docs/MQTTAsync/man/man3/MQTTSubscribe_options.3 index 774fe208..542ae3ef 100644 --- a/docs/MQTTAsync/man/man3/MQTTSubscribe_options.3 +++ b/docs/MQTTAsync/man/man3/MQTTSubscribe_options.3 @@ -1,4 +1,4 @@ -.TH "MQTTSubscribe_options" 3 "Tue Jan 7 2025 13:21:08" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTSubscribe_options" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/_h_t_t_p_proxies.3 b/docs/MQTTAsync/man/man3/_h_t_t_p_proxies.3 index 7c676970..8a86cea3 100644 --- a/docs/MQTTAsync/man/man3/_h_t_t_p_proxies.3 +++ b/docs/MQTTAsync/man/man3/_h_t_t_p_proxies.3 @@ -1,4 +1,4 @@ -.TH "_h_t_t_p_proxies" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "_h_t_t_p_proxies" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/async.3 b/docs/MQTTAsync/man/man3/async.3 index d8000941..bc603ea5 100644 --- a/docs/MQTTAsync/man/man3/async.3 +++ b/docs/MQTTAsync/man/man3/async.3 @@ -1,4 +1,4 @@ -.TH "async" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "async" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/auto_reconnect.3 b/docs/MQTTAsync/man/man3/auto_reconnect.3 index eac45849..018fc095 100644 --- a/docs/MQTTAsync/man/man3/auto_reconnect.3 +++ b/docs/MQTTAsync/man/man3/auto_reconnect.3 @@ -1,4 +1,4 @@ -.TH "auto_reconnect" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "auto_reconnect" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/callbacks.3 b/docs/MQTTAsync/man/man3/callbacks.3 index 166a6c34..2c726904 100644 --- a/docs/MQTTAsync/man/man3/callbacks.3 +++ b/docs/MQTTAsync/man/man3/callbacks.3 @@ -1,4 +1,4 @@ -.TH "callbacks" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "callbacks" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/offline_publish.3 b/docs/MQTTAsync/man/man3/offline_publish.3 index e90752c8..730fe02b 100644 --- a/docs/MQTTAsync/man/man3/offline_publish.3 +++ b/docs/MQTTAsync/man/man3/offline_publish.3 @@ -1,4 +1,4 @@ -.TH "offline_publish" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "offline_publish" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/publish.3 b/docs/MQTTAsync/man/man3/publish.3 index 33fedbf4..343332c6 100644 --- a/docs/MQTTAsync/man/man3/publish.3 +++ b/docs/MQTTAsync/man/man3/publish.3 @@ -1,4 +1,4 @@ -.TH "publish" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "publish" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -22,7 +22,7 @@ publish \- Publication example #include #endif -#define ADDRESS "tcp://mqtt\&.eclipseprojects\&.io:1883" +#define ADDRESS "tcp://test\&.mosquitto\&.org:1883" #define CLIENTID "ExampleClientPub" #define TOPIC "MQTT Examples" #define PAYLOAD "Hello World!" diff --git a/docs/MQTTAsync/man/man3/qos.3 b/docs/MQTTAsync/man/man3/qos.3 index 4be12a9a..ef873552 100644 --- a/docs/MQTTAsync/man/man3/qos.3 +++ b/docs/MQTTAsync/man/man3/qos.3 @@ -1,10 +1,10 @@ -.TH "qos" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "qos" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME qos \- Quality of service .PP -The MQTT protocol provides three qualities of service for delivering messages between clients and servers: 'at most once', 'at least once' and 'exactly once'\&. +The MQTT protocol provides three qualities of service for delivering messages between clients and servers: "at most once", "at least once" and "exactly once"\&. .PP Quality of service (QoS) is an attribute of an individual message being published\&. An application sets the QoS for a specific message by setting the \fBMQTTAsync_message\&.qos\fP field to the required value\&. @@ -16,7 +16,7 @@ A subscribing client can set the maximum quality of service a server uses to sen The three levels are: .PP -\fBQoS0, At most once:\fP The message is delivered at most once, or it may not be delivered at all\&. Its delivery across the network is not acknowledged\&. The message is not stored\&. The message could be lost if the client is disconnected, or if the server fails\&. QoS0 is the fastest mode of transfer\&. It is sometimes called 'fire and forget'\&. +\fBQoS0, At most once:\fP The message is delivered at most once, or it may not be delivered at all\&. Its delivery across the network is not acknowledged\&. The message is not stored\&. The message could be lost if the client is disconnected, or if the server fails\&. QoS0 is the fastest mode of transfer\&. It is sometimes called "fire and forget"\&. .PP The MQTT protocol does not require servers to forward publications at QoS0 to a client\&. If the client is disconnected at the time the server receives the publication, the publication might be discarded, depending on the server implementation\&. diff --git a/docs/MQTTAsync/man/man3/subscribe.3 b/docs/MQTTAsync/man/man3/subscribe.3 index 67e1dad5..7fd4c521 100644 --- a/docs/MQTTAsync/man/man3/subscribe.3 +++ b/docs/MQTTAsync/man/man3/subscribe.3 @@ -1,4 +1,4 @@ -.TH "subscribe" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "subscribe" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -22,7 +22,7 @@ subscribe \- Subscription example #include #endif -#define ADDRESS "tcp://mqtt\&.eclipseprojects\&.io:1883" +#define ADDRESS "tcp://test\&.mosquitto\&.org:1883" #define CLIENTID "ExampleClientSub" #define TOPIC "MQTT Examples" #define PAYLOAD "Hello World!" diff --git a/docs/MQTTAsync/man/man3/tracing.3 b/docs/MQTTAsync/man/man3/tracing.3 index 47742c41..9ec3c703 100644 --- a/docs/MQTTAsync/man/man3/tracing.3 +++ b/docs/MQTTAsync/man/man3/tracing.3 @@ -1,4 +1,4 @@ -.TH "tracing" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "tracing" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTAsync/man/man3/wildcard.3 b/docs/MQTTAsync/man/man3/wildcard.3 index 1288951f..bd724e56 100644 --- a/docs/MQTTAsync/man/man3/wildcard.3 +++ b/docs/MQTTAsync/man/man3/wildcard.3 @@ -1,4 +1,4 @@ -.TH "wildcard" 3 "Tue Jan 7 2025 13:21:07" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- +.TH "wildcard" 3 "Sat Aug 16 2025 14:15:23" "Paho Asynchronous MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/html/_h_t_t_p_proxies.html b/docs/MQTTClient/html/_h_t_t_p_proxies.html index 5a93b91f..bb953362 100644 --- a/docs/MQTTClient/html/_h_t_t_p_proxies.html +++ b/docs/MQTTClient/html/_h_t_t_p_proxies.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: HTTP Proxies - - @@ -34,33 +32,22 @@
    - + -
    -
    HTTP Proxies
    +
    HTTP Proxies

    The use of HTTP proxies can be controlled by environment variables or API calls.

    @@ -96,7 +83,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/_m_q_t_t_client_8h.html b/docs/MQTTClient/html/_m_q_t_t_client_8h.html index 3dcd7147..7ec3f797 100644 --- a/docs/MQTTClient/html/_m_q_t_t_client_8h.html +++ b/docs/MQTTClient/html/_m_q_t_t_client_8h.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClient.h File Reference - - @@ -34,33 +32,22 @@
    - + -

    Go to the source code of this file.

    - - - - - - - - - - - - - - - - - + + + + + + + +

    +

    Data Structures

    struct  MQTTClient_init_options
     
    struct  MQTTClient_message
     
    struct  MQTTClient_createOptions
     
    struct  MQTTClient_willOptions
     
    struct  MQTTClient_SSLOptions
     
    struct  MQTTClient_nameValue
     
    struct  MQTTClient_connectOptions
     
    struct  MQTTResponse
     
    struct  MQTTClient_init_options
    struct  MQTTClient_message
    struct  MQTTClient_createOptions
    struct  MQTTClient_willOptions
    struct  MQTTClient_SSLOptions
    struct  MQTTClient_nameValue
    struct  MQTTClient_connectOptions
    struct  MQTTResponse
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    +

    Macros

    #define MQTTCLIENT_SUCCESS   0
     
    #define MQTTCLIENT_FAILURE   -1
     
    #define MQTTCLIENT_DISCONNECTED   -3
     
    #define MQTTCLIENT_MAX_MESSAGES_INFLIGHT   -4
     
    #define MQTTCLIENT_BAD_UTF8_STRING   -5
     
    #define MQTTCLIENT_NULL_PARAMETER   -6
     
    #define MQTTCLIENT_TOPICNAME_TRUNCATED   -7
     
    #define MQTTCLIENT_BAD_STRUCTURE   -8
     
    #define MQTTCLIENT_BAD_QOS   -9
     
    #define MQTTCLIENT_SSL_NOT_SUPPORTED   -10
     
    #define MQTTCLIENT_BAD_MQTT_VERSION   -11
     
    #define MQTTCLIENT_BAD_PROTOCOL   -14
     
    #define MQTTCLIENT_BAD_MQTT_OPTION   -15
     
    #define MQTTCLIENT_WRONG_MQTT_VERSION   -16
     
    #define MQTTCLIENT_0_LEN_WILL_TOPIC   -17
     
    #define MQTTVERSION_DEFAULT   0
     
    #define MQTTVERSION_3_1   3
     
    #define MQTTVERSION_3_1_1   4
     
    #define MQTTVERSION_5   5
     
    #define MQTT_BAD_SUBSCRIBE   0x80
     
    #define MQTTClient_init_options_initializer   { {'M', 'Q', 'T', 'G'}, 0, 0 }
     
    #define MQTTClient_message_initializer   { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer }
     
    #define MQTTClient_createOptions_initializer   { {'M', 'Q', 'C', 'O'}, 0, MQTTVERSION_DEFAULT }
     
    #define MQTTClient_willOptions_initializer   { {'M', 'Q', 'T', 'W'}, 1, NULL, NULL, 0, 0, {0, NULL} }
     
    #define MQTT_SSL_VERSION_DEFAULT   0
     
    #define MQTT_SSL_VERSION_TLS_1_0   1
     
    #define MQTT_SSL_VERSION_TLS_1_1   2
     
    #define MQTT_SSL_VERSION_TLS_1_2   3
     
    #define MQTTClient_SSLOptions_initializer   { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 }
     
    #define MQTTClient_connectOptions_initializer
     
    #define MQTTClient_connectOptions_initializer5
     
    #define MQTTClient_connectOptions_initializer_ws
     
    #define MQTTClient_connectOptions_initializer5_ws
     
    #define MQTTResponse_initializer   {1, MQTTREASONCODE_SUCCESS, 0, NULL, NULL}
     
    - - - - - - - - - - -

    +

    Typedefs

    typedef void * MQTTClient
     
    typedef int MQTTClient_deliveryToken
     
    typedef int MQTTClient_token
     
    typedef int MQTTClient_messageArrived(void *context, char *topicName, int topicLen, MQTTClient_message *message)
     
    typedef void MQTTClient_deliveryComplete(void *context, MQTTClient_deliveryToken dt)
     
    typedef void MQTTClient_connectionLost(void *context, char *cause)
     
    typedef void MQTTClient_disconnected(void *context, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
     
    typedef void MQTTClient_published(void *context, int dt, int packet_type, MQTTProperties *properties, enum MQTTReasonCodes reasonCode)
     
    typedef struct MQTTResponse MQTTResponse
     
    typedef void MQTTClient_traceCallback(enum MQTTCLIENT_TRACE_LEVELS level, char *message)
     
    - , MQTTCLIENT_TRACE_FATAL
    } -

    +

    Enumerations

    enum  MQTTCLIENT_TRACE_LEVELS {
      MQTTCLIENT_TRACE_MAXIMUM = 1 @@ -228,86 +163,48 @@ Enumerations
     
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    +

    Functions

    void MQTTClient_global_init (MQTTClient_init_options *inits)
     
    int MQTTClient_setCallbacks (MQTTClient handle, void *context, MQTTClient_connectionLost *cl, MQTTClient_messageArrived *ma, MQTTClient_deliveryComplete *dc)
     
    int MQTTClient_setDisconnected (MQTTClient handle, void *context, MQTTClient_disconnected *co)
     
    int MQTTClient_setPublished (MQTTClient handle, void *context, MQTTClient_published *co)
     
    int MQTTClient_create (MQTTClient *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context)
     
    int MQTTClient_createWithOptions (MQTTClient *handle, const char *serverURI, const char *clientId, int persistence_type, void *persistence_context, MQTTClient_createOptions *options)
     
    MQTTClient_nameValueMQTTClient_getVersionInfo (void)
     
    int MQTTClient_connect (MQTTClient handle, MQTTClient_connectOptions *options)
     
    void MQTTResponse_free (MQTTResponse response)
     
    MQTTResponse MQTTClient_connect5 (MQTTClient handle, MQTTClient_connectOptions *options, MQTTProperties *connectProperties, MQTTProperties *willProperties)
     
    int MQTTClient_disconnect (MQTTClient handle, int timeout)
     
    int MQTTClient_disconnect5 (MQTTClient handle, int timeout, enum MQTTReasonCodes reason, MQTTProperties *props)
     
    int MQTTClient_isConnected (MQTTClient handle)
     
    int MQTTClient_subscribe (MQTTClient handle, const char *topic, int qos)
     
    MQTTResponse MQTTClient_subscribe5 (MQTTClient handle, const char *topic, int qos, MQTTSubscribe_options *opts, MQTTProperties *props)
     
    int MQTTClient_subscribeMany (MQTTClient handle, int count, char *const *topic, int *qos)
     
    MQTTResponse MQTTClient_subscribeMany5 (MQTTClient handle, int count, char *const *topic, int *qos, MQTTSubscribe_options *opts, MQTTProperties *props)
     
    int MQTTClient_unsubscribe (MQTTClient handle, const char *topic)
     
    MQTTResponse MQTTClient_unsubscribe5 (MQTTClient handle, const char *topic, MQTTProperties *props)
     
    int MQTTClient_unsubscribeMany (MQTTClient handle, int count, char *const *topic)
     
    MQTTResponse MQTTClient_unsubscribeMany5 (MQTTClient handle, int count, char *const *topic, MQTTProperties *props)
     
    int MQTTClient_publish (MQTTClient handle, const char *topicName, int payloadlen, const void *payload, int qos, int retained, MQTTClient_deliveryToken *dt)
     
    MQTTResponse MQTTClient_publish5 (MQTTClient handle, const char *topicName, int payloadlen, const void *payload, int qos, int retained, MQTTProperties *properties, MQTTClient_deliveryToken *dt)
     
    int MQTTClient_publishMessage (MQTTClient handle, const char *topicName, MQTTClient_message *msg, MQTTClient_deliveryToken *dt)
     
    MQTTResponse MQTTClient_publishMessage5 (MQTTClient handle, const char *topicName, MQTTClient_message *msg, MQTTClient_deliveryToken *dt)
     
    int MQTTClient_waitForCompletion (MQTTClient handle, MQTTClient_deliveryToken dt, unsigned long timeout)
     
    int MQTTClient_getPendingDeliveryTokens (MQTTClient handle, MQTTClient_deliveryToken **tokens)
     
    void MQTTClient_yield (void)
     
    int MQTTClient_receive (MQTTClient handle, char **topicName, int *topicLen, MQTTClient_message **message, unsigned long timeout)
     
    void MQTTClient_freeMessage (MQTTClient_message **msg)
     
    void MQTTClient_free (void *ptr)
     
    void * MQTTClient_malloc (size_t size)
     
    void MQTTClient_destroy (MQTTClient *handle)
     
    void MQTTClient_setTraceLevel (enum MQTTCLIENT_TRACE_LEVELS level)
     
    void MQTTClient_setTraceCallback (MQTTClient_traceCallback *callback)
     
    int MQTTClient_setCommandTimeout (MQTTClient handle, unsigned long milliSeconds)
     
    const char * MQTTClient_strerror (int code)
     
    -

    Macro Definition Documentation

    +

    Macro Definition Documentation

    ◆ MQTTCLIENT_SUCCESS

    @@ -486,9 +383,9 @@ Functions

    Return code: protocol prefix in serverURI should be:

    • tcp:// or mqtt:// - Insecure TCP
    • -
    • ssl:// or mqtts:// - Encrypted SSL/TLS
    • +
    • ssl:// or tls:// or mqtts:// - Encrypted SSL/TLS
    • ws:// - Insecure websockets
    • -
    • wss:// - Secure web sockets The TLS enabled prefixes (ssl, mqtts, wss) are only valid if a TLS version of the library is linked with.
    • +
    • wss:// - Secure web sockets The TLS enabled prefixes (ssl, tls, mqtts, wss) are only valid if a TLS version of the library is linked with.
    @@ -823,7 +720,7 @@ Functions
    -

    Typedef Documentation

    +

    Typedef Documentation

    ◆ MQTTClient

    @@ -1018,7 +915,7 @@ Functions
    -

    Enumeration Type Documentation

    +

    Enumeration Type Documentation

    ◆ MQTTCLIENT_TRACE_LEVELS

    @@ -1042,7 +939,7 @@ Functions
    -

    Function Documentation

    +

    Function Documentation

    ◆ MQTTClient_global_init()

    @@ -1061,7 +958,7 @@ Functions -extern +extern
    @@ -1106,7 +1003,7 @@ Functions -extern +extern
    @@ -1152,7 +1049,7 @@ Functions -extern +extern
    @@ -1195,7 +1092,7 @@ Functions -extern +extern
    @@ -1239,7 +1136,7 @@ Functions -extern +extern
    @@ -1307,7 +1204,7 @@ Functions -extern +extern
    @@ -1347,7 +1244,7 @@ Functions -extern +extern
    @@ -1377,7 +1274,7 @@ Functions -extern +extern
    @@ -1418,7 +1315,7 @@ Functions -extern +extern
    @@ -1463,7 +1360,7 @@ Functions -extern +extern
    @@ -1502,7 +1399,7 @@ Functions -extern +extern
    @@ -1549,7 +1446,7 @@ Functions -extern +extern
    @@ -1574,7 +1471,7 @@ Functions -extern +extern
    @@ -1615,7 +1512,7 @@ Functions -extern +extern
    @@ -1668,7 +1565,7 @@ Functions -extern +extern
    @@ -1718,7 +1615,7 @@ Functions -extern +extern
    @@ -1777,7 +1674,7 @@ Functions -extern +extern
    @@ -1818,7 +1715,7 @@ Functions -extern +extern
    @@ -1860,7 +1757,7 @@ Functions -extern +extern
    @@ -1903,7 +1800,7 @@ Functions -extern +extern
    @@ -1951,7 +1848,7 @@ Functions -extern +extern
    @@ -2015,7 +1912,7 @@ Functions -extern +extern
    @@ -2087,7 +1984,7 @@ Functions -extern +extern
    @@ -2140,7 +2037,7 @@ Functions -extern +extern
    @@ -2189,7 +2086,7 @@ Functions -extern +extern
    @@ -2233,7 +2130,7 @@ Functions -extern +extern
    @@ -2271,7 +2168,7 @@ Functions -extern +extern
    @@ -2305,7 +2202,7 @@ Functions -extern +extern
    @@ -2350,7 +2247,7 @@ Functions -extern +extern
    @@ -2387,7 +2284,7 @@ Functions -extern +extern
    @@ -2418,7 +2315,7 @@ Functions -extern +extern
    @@ -2449,7 +2346,7 @@ Functions -extern +extern
    @@ -2480,7 +2377,7 @@ Functions -extern +extern
    @@ -2511,7 +2408,7 @@ Functions -extern +extern
    @@ -2542,7 +2439,7 @@ Functions -extern +extern
    @@ -2577,7 +2474,7 @@ Functions -extern +extern
    @@ -2610,7 +2507,7 @@ Functions -extern +extern
    @@ -2622,7 +2519,7 @@ Functions
    diff --git a/docs/MQTTClient/html/_m_q_t_t_client_8h_source.html b/docs/MQTTClient/html/_m_q_t_t_client_8h_source.html index b2bf48bd..f9d8a818 100644 --- a/docs/MQTTClient/html/_m_q_t_t_client_8h_source.html +++ b/docs/MQTTClient/html/_m_q_t_t_client_8h_source.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClient.h Source File - - @@ -34,35 +32,24 @@
    - +
    -
    17 * Ian Craggs - MQTT 3.1.1 support
    18 * Ian Craggs - remove const from eyecatchers #168
    19 *******************************************************************************/
    -
    20
    +
    20
    +
    106
    107/*
    109*/
    110#if !defined(MQTTCLIENT_H)
    @@ -131,54 +119,54 @@ $(function(){ initResizable(false); });
    129#else
    130#define MQTTCLIENT_PERSISTENCE_NONE 1
    131#endif
    -
    132
    -
    137#define MQTTCLIENT_SUCCESS 0
    +
    132
    +
    137#define MQTTCLIENT_SUCCESS 0
    142#define MQTTCLIENT_FAILURE -1
    143
    144/* error code -2 is MQTTCLIENT_PERSISTENCE_ERROR */
    -
    145
    -
    149#define MQTTCLIENT_DISCONNECTED -3
    -
    154#define MQTTCLIENT_MAX_MESSAGES_INFLIGHT -4
    -
    158#define MQTTCLIENT_BAD_UTF8_STRING -5
    -
    162#define MQTTCLIENT_NULL_PARAMETER -6
    -
    168#define MQTTCLIENT_TOPICNAME_TRUNCATED -7
    -
    173#define MQTTCLIENT_BAD_STRUCTURE -8
    -
    177#define MQTTCLIENT_BAD_QOS -9
    -
    181#define MQTTCLIENT_SSL_NOT_SUPPORTED -10
    -
    185 #define MQTTCLIENT_BAD_MQTT_VERSION -11
    -
    195#define MQTTCLIENT_BAD_PROTOCOL -14
    -
    199 #define MQTTCLIENT_BAD_MQTT_OPTION -15
    -
    203 #define MQTTCLIENT_WRONG_MQTT_VERSION -16
    +
    145
    +
    149#define MQTTCLIENT_DISCONNECTED -3
    +
    154#define MQTTCLIENT_MAX_MESSAGES_INFLIGHT -4
    +
    158#define MQTTCLIENT_BAD_UTF8_STRING -5
    +
    162#define MQTTCLIENT_NULL_PARAMETER -6
    +
    168#define MQTTCLIENT_TOPICNAME_TRUNCATED -7
    +
    173#define MQTTCLIENT_BAD_STRUCTURE -8
    +
    177#define MQTTCLIENT_BAD_QOS -9
    +
    181#define MQTTCLIENT_SSL_NOT_SUPPORTED -10
    +
    185 #define MQTTCLIENT_BAD_MQTT_VERSION -11
    +
    195#define MQTTCLIENT_BAD_PROTOCOL -14
    +
    199 #define MQTTCLIENT_BAD_MQTT_OPTION -15
    +
    203 #define MQTTCLIENT_WRONG_MQTT_VERSION -16
    207 #define MQTTCLIENT_0_LEN_WILL_TOPIC -17
    208
    -
    209
    -
    213#define MQTTVERSION_DEFAULT 0
    -
    217#define MQTTVERSION_3_1 3
    -
    221#define MQTTVERSION_3_1_1 4
    -
    225 #define MQTTVERSION_5 5
    +
    209
    +
    213#define MQTTVERSION_DEFAULT 0
    +
    217#define MQTTVERSION_3_1 3
    +
    221#define MQTTVERSION_3_1_1 4
    +
    225 #define MQTTVERSION_5 5
    229#define MQTT_BAD_SUBSCRIBE 0x80
    -
    230
    +
    230
    234typedef struct
    235{
    -
    237 char struct_id[4];
    +
    237 char struct_id[4];
    243
    244#define MQTTClient_init_options_initializer { {'M', 'Q', 'T', 'G'}, 0, 0 }
    -
    245
    +
    245
    250LIBMQTT_API void MQTTClient_global_init(MQTTClient_init_options* inits);
    -
    251
    +
    251
    256typedef void* MQTTClient;
    267typedef int MQTTClient_deliveryToken;
    268typedef int MQTTClient_token;
    -
    269
    +
    269
    276typedef struct
    277{
    -
    279 char struct_id[4];
    +
    279 char struct_id[4];
    286 void* payload;
    @@ -191,48 +179,48 @@ $(function(){ initResizable(false); });
    336
    337#define MQTTClient_message_initializer { {'M', 'Q', 'T', 'M'}, 1, 0, NULL, 0, 0, 0, 0, MQTTProperties_initializer }
    -
    338
    +
    338
    369typedef int MQTTClient_messageArrived(void* context, char* topicName, int topicLen, MQTTClient_message* message);
    -
    370
    +
    370
    391typedef void MQTTClient_deliveryComplete(void* context, MQTTClient_deliveryToken dt);
    -
    392
    +
    392
    408typedef void MQTTClient_connectionLost(void* context, char* cause);
    -
    409
    +
    409
    439LIBMQTT_API int MQTTClient_setCallbacks(MQTTClient handle, void* context, MQTTClient_connectionLost* cl,
    440 MQTTClient_messageArrived* ma, MQTTClient_deliveryComplete* dc);
    441
    -
    442
    +
    442
    452typedef void MQTTClient_disconnected(void* context, MQTTProperties* properties,
    453 enum MQTTReasonCodes reasonCode);
    -
    454
    +
    454
    468LIBMQTT_API int MQTTClient_setDisconnected(MQTTClient handle, void* context, MQTTClient_disconnected* co);
    -
    469
    +
    469
    493typedef void MQTTClient_published(void* context, int dt, int packet_type, MQTTProperties* properties,
    494 enum MQTTReasonCodes reasonCode);
    495
    496LIBMQTT_API int MQTTClient_setPublished(MQTTClient handle, void* context, MQTTClient_published* co);
    -
    497
    +
    497
    550LIBMQTT_API int MQTTClient_create(MQTTClient* handle, const char* serverURI, const char* clientId,
    551 int persistence_type, void* persistence_context);
    -
    552
    +
    552
    554typedef struct
    555{
    -
    557 char struct_id[4];
    +
    557 char struct_id[4];
    567
    568#define MQTTClient_createOptions_initializer { {'M', 'Q', 'C', 'O'}, 0, MQTTVERSION_DEFAULT }
    -
    569
    +
    569
    614LIBMQTT_API int MQTTClient_createWithOptions(MQTTClient* handle, const char* serverURI, const char* clientId,
    615 int persistence_type, void* persistence_context, MQTTClient_createOptions* options);
    -
    616
    +
    616
    629typedef struct
    630{
    -
    632 char struct_id[4];
    +
    632 char struct_id[4];
    638 const char* topicName;
    640 const char* message;
    @@ -242,7 +230,7 @@ $(function(){ initResizable(false); });
    652 {
    653 int len;
    654 const void* data;
    -
    655 } payload;
    +
    655 } payload;
    657
    @@ -252,50 +240,51 @@ $(function(){ initResizable(false); });
    661#define MQTT_SSL_VERSION_TLS_1_0 1
    662#define MQTT_SSL_VERSION_TLS_1_1 2
    663#define MQTT_SSL_VERSION_TLS_1_2 3
    -
    664
    +
    664
    677typedef struct
    678{
    -
    680 char struct_id[4];
    -
    681
    +
    680 char struct_id[4];
    +
    681
    -
    690
    +
    690
    692 const char* trustStore;
    -
    693
    +
    693
    697 const char* keyStore;
    -
    698
    +
    698
    702 const char* privateKey;
    -
    703
    +
    703
    -
    706
    +
    706
    -
    716
    +
    716
    -
    719
    +
    719
    -
    725
    +
    725
    -
    732
    +
    732
    738 const char* CApath;
    -
    739
    -
    744 int (*ssl_error_cb) (const char *str, size_t len, void *u);
    -
    745
    +
    739
    +
    744 int (*ssl_error_cb) (const char *str, size_t len, void *u);
    +
    745
    -
    751
    -
    757 unsigned int (*ssl_psk_cb) (const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u);
    -
    758
    +
    751
    +
    757 unsigned int (*ssl_psk_cb) (const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u);
    +
    758
    -
    764
    +
    764
    -
    771
    +
    771
    779 const unsigned char *protos;
    -
    780
    +
    780
    785 unsigned int protos_len;
    787
    788#define MQTTClient_SSLOptions_initializer { {'M', 'Q', 'T', 'S'}, 5, NULL, NULL, NULL, NULL, NULL, 1, MQTT_SSL_VERSION_DEFAULT, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0 }
    -
    789
    +
    789
    +
    796
    797typedef struct
    798{
    @@ -303,13 +292,13 @@ $(function(){ initResizable(false); });
    800 const char* value;
    -
    802
    +
    802
    808LIBMQTT_API MQTTClient_nameValue* MQTTClient_getVersionInfo(void);
    -
    809
    +
    809
    830typedef struct
    831{
    -
    833 char struct_id[4];
    +
    833 char struct_id[4];
    @@ -326,14 +315,14 @@ $(function(){ initResizable(false); });
    951 struct
    952 {
    953 const char* serverURI;
    -
    954 int MQTTVersion;
    +
    954 int MQTTVersion;
    -
    956 } returned;
    +
    956 } returned;
    960 struct
    961 {
    962 int len;
    963 const void* data;
    -
    964 } binarypwd;
    +
    964 } binarypwd;
    969 /*
    970 * MQTT V5 clean start flag. Only clears state at the beginning of the session.
    @@ -344,102 +333,102 @@ $(function(){ initResizable(false); });
    986 const char* httpsProxy;
    -
    988
    +
    988
    990#define MQTTClient_connectOptions_initializer { {'M', 'Q', 'T', 'C'}, 8, 60, 1, 1, NULL, NULL, NULL, 30, 0, NULL,\
    9910, NULL, MQTTVERSION_DEFAULT, {NULL, 0, 0}, {0, NULL}, -1, 0, NULL, NULL, NULL}
    -
    992
    +
    992
    994#define MQTTClient_connectOptions_initializer5 { {'M', 'Q', 'T', 'C'}, 8, 60, 0, 1, NULL, NULL, NULL, 30, 0, NULL,\
    9950, NULL, MQTTVERSION_5, {NULL, 0, 0}, {0, NULL}, -1, 1, NULL, NULL, NULL}
    -
    996
    +
    996
    1000#define MQTTClient_connectOptions_initializer_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 1, 1, NULL, NULL, NULL, 30, 0, NULL,\
    10010, NULL, MQTTVERSION_DEFAULT, {NULL, 0, 0}, {0, NULL}, -1, 0, NULL, NULL, NULL}
    -
    1002
    +
    1002
    1006#define MQTTClient_connectOptions_initializer5_ws { {'M', 'Q', 'T', 'C'}, 8, 45, 0, 1, NULL, NULL, NULL, 30, 0, NULL,\
    10070, NULL, MQTTVERSION_5, {NULL, 0, 0}, {0, NULL}, -1, 1, NULL, NULL, NULL}
    -
    1008
    +
    1008
    1029LIBMQTT_API int MQTTClient_connect(MQTTClient handle, MQTTClient_connectOptions* options);
    -
    1030
    +
    1030
    1032typedef struct MQTTResponse
    1033{
    1034 int version; /* the version number of this structure */
    1035 enum MQTTReasonCodes reasonCode; /* the MQTT 5.0 reason code returned */
    -
    1036 int reasonCodeCount; /* the number of reason codes. Used for subscribeMany5 and unsubscribeMany5 */
    +
    1036 int reasonCodeCount; /* the number of reason codes. Used for subscribeMany5 and unsubscribeMany5 */
    1037 enum MQTTReasonCodes* reasonCodes; /* a list of reason codes. Used for subscribeMany5 and unsubscribeMany5 */
    1038 MQTTProperties* properties; /* optionally, the MQTT 5.0 properties returned */
    - +
    1040
    1041#define MQTTResponse_initializer {1, MQTTREASONCODE_SUCCESS, 0, NULL, NULL}
    -
    1042
    +
    1042
    1047LIBMQTT_API void MQTTResponse_free(MQTTResponse response);
    -
    1048
    +
    1048
    1062LIBMQTT_API MQTTResponse MQTTClient_connect5(MQTTClient handle, MQTTClient_connectOptions* options,
    1063 MQTTProperties* connectProperties, MQTTProperties* willProperties);
    -
    1064
    +
    1064
    1083LIBMQTT_API int MQTTClient_disconnect(MQTTClient handle, int timeout);
    1084
    1085LIBMQTT_API int MQTTClient_disconnect5(MQTTClient handle, int timeout, enum MQTTReasonCodes reason, MQTTProperties* props);
    -
    1086
    +
    1086
    1094LIBMQTT_API int MQTTClient_isConnected(MQTTClient handle);
    1095
    1096
    1097/* Subscribe is synchronous. QoS list parameter is changed on return to granted QoSs.
    1098 Returns return code, MQTTCLIENT_SUCCESS == success, non-zero some sort of error (TBD) */
    -
    1099
    +
    1099
    1113LIBMQTT_API int MQTTClient_subscribe(MQTTClient handle, const char* topic, int qos);
    -
    1114
    +
    1114
    1128LIBMQTT_API MQTTResponse MQTTClient_subscribe5(MQTTClient handle, const char* topic, int qos,
    1129 MQTTSubscribe_options* opts, MQTTProperties* props);
    -
    1130
    +
    1130
    1147LIBMQTT_API int MQTTClient_subscribeMany(MQTTClient handle, int count, char* const* topic, int* qos);
    -
    1148
    +
    1148
    1165LIBMQTT_API MQTTResponse MQTTClient_subscribeMany5(MQTTClient handle, int count, char* const* topic,
    1166 int* qos, MQTTSubscribe_options* opts, MQTTProperties* props);
    -
    1167
    +
    1167
    1179LIBMQTT_API int MQTTClient_unsubscribe(MQTTClient handle, const char* topic);
    -
    1180
    +
    1180
    1191LIBMQTT_API MQTTResponse MQTTClient_unsubscribe5(MQTTClient handle, const char* topic, MQTTProperties* props);
    -
    1192
    +
    1192
    1204LIBMQTT_API int MQTTClient_unsubscribeMany(MQTTClient handle, int count, char* const* topic);
    -
    1205
    +
    1205
    1217LIBMQTT_API MQTTResponse MQTTClient_unsubscribeMany5(MQTTClient handle, int count, char* const* topic, MQTTProperties* props);
    -
    1218
    +
    1218
    1240LIBMQTT_API int MQTTClient_publish(MQTTClient handle, const char* topicName, int payloadlen, const void* payload, int qos, int retained,
    1241 MQTTClient_deliveryToken* dt);
    -
    1242
    +
    1242
    1264LIBMQTT_API MQTTResponse MQTTClient_publish5(MQTTClient handle, const char* topicName, int payloadlen, const void* payload,
    1265 int qos, int retained, MQTTProperties* properties, MQTTClient_deliveryToken* dt);
    1285LIBMQTT_API int MQTTClient_publishMessage(MQTTClient handle, const char* topicName, MQTTClient_message* msg, MQTTClient_deliveryToken* dt);
    1286
    -
    1287
    +
    1287
    1307LIBMQTT_API MQTTResponse MQTTClient_publishMessage5(MQTTClient handle, const char* topicName, MQTTClient_message* msg,
    1308 MQTTClient_deliveryToken* dt);
    -
    1309
    +
    1309
    1325LIBMQTT_API int MQTTClient_waitForCompletion(MQTTClient handle, MQTTClient_deliveryToken dt, unsigned long timeout);
    1326
    -
    1327
    +
    1327
    1346LIBMQTT_API int MQTTClient_getPendingDeliveryTokens(MQTTClient handle, MQTTClient_deliveryToken **tokens);
    -
    1347
    +
    1347
    1354LIBMQTT_API void MQTTClient_yield(void);
    -
    1355
    +
    1355
    1387LIBMQTT_API int MQTTClient_receive(MQTTClient handle, char** topicName, int* topicLen, MQTTClient_message** message,
    1388 unsigned long timeout);
    -
    1389
    +
    1389
    1400LIBMQTT_API void MQTTClient_freeMessage(MQTTClient_message** msg);
    -
    1401
    +
    1401
    1410LIBMQTT_API void MQTTClient_free(void* ptr);
    -
    1411
    +
    1411
    1418LIBMQTT_API void* MQTTClient_malloc(size_t size);
    -
    1419
    +
    1419
    1427LIBMQTT_API void MQTTClient_destroy(MQTTClient* handle);
    1428
    1429
    @@ -456,16 +445,16 @@ $(function(){ initResizable(false); });
    1439};
    1440
    -
    1441
    +
    1441
    1447LIBMQTT_API void MQTTClient_setTraceLevel(enum MQTTCLIENT_TRACE_LEVELS level);
    1448
    -
    1449
    +
    1449
    1459typedef void MQTTClient_traceCallback(enum MQTTCLIENT_TRACE_LEVELS level, char* message);
    -
    1460
    +
    1460
    1467LIBMQTT_API void MQTTClient_setTraceCallback(MQTTClient_traceCallback* callback);
    -
    1468
    +
    1468
    1476LIBMQTT_API int MQTTClient_setCommandTimeout(MQTTClient handle, unsigned long milliSeconds);
    -
    1477
    +
    1477
    1483LIBMQTT_API const char* MQTTClient_strerror(int code);
    1484
    1485#if defined(__cplusplus)
    @@ -473,9 +462,8 @@ $(function(){ initResizable(false); });
    1487#endif
    1488
    1489#endif
    -
    1490
    +
    1490
    MQTTResponse_free
    void MQTTResponse_free(MQTTResponse response)
    -
    MQTTResponse
    struct MQTTResponse MQTTResponse
    MQTTClient_disconnect5
    int MQTTClient_disconnect5(MQTTClient handle, int timeout, enum MQTTReasonCodes reason, MQTTProperties *props)
    MQTTClient_disconnect
    int MQTTClient_disconnect(MQTTClient handle, int timeout)
    MQTTClient_malloc
    void * MQTTClient_malloc(size_t size)
    @@ -539,6 +527,7 @@ $(function(){ initResizable(false); });
    MQTTClient_SSLOptions::struct_version
    int struct_version
    Definition MQTTClient.h:689
    MQTTClient_SSLOptions::disableDefaultTrustStore
    int disableDefaultTrustStore
    Definition MQTTClient.h:770
    MQTTClient_SSLOptions::ssl_error_context
    void * ssl_error_context
    Definition MQTTClient.h:750
    +
    MQTTClient_SSLOptions::ssl_error_cb
    int(* ssl_error_cb)(const char *str, size_t len, void *u)
    Definition MQTTClient.h:744
    MQTTClient_SSLOptions::protos_len
    unsigned int protos_len
    Definition MQTTClient.h:785
    MQTTClient_SSLOptions::CApath
    const char * CApath
    Definition MQTTClient.h:738
    MQTTClient_SSLOptions::keyStore
    const char * keyStore
    Definition MQTTClient.h:697
    @@ -546,7 +535,9 @@ $(function(){ initResizable(false); });
    MQTTClient_SSLOptions::protos
    const unsigned char * protos
    Definition MQTTClient.h:779
    MQTTClient_SSLOptions::enableServerCertAuth
    int enableServerCertAuth
    Definition MQTTClient.h:718
    MQTTClient_SSLOptions::privateKey
    const char * privateKey
    Definition MQTTClient.h:702
    +
    MQTTClient_SSLOptions::ssl_psk_cb
    unsigned int(* ssl_psk_cb)(const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u)
    Definition MQTTClient.h:757
    MQTTClient_SSLOptions::verify
    int verify
    Definition MQTTClient.h:731
    +
    MQTTClient_SSLOptions::struct_id
    char struct_id[4]
    Definition MQTTClient.h:680
    MQTTClient_SSLOptions::enabledCipherSuites
    const char * enabledCipherSuites
    Definition MQTTClient.h:715
    MQTTClient_SSLOptions::ssl_psk_context
    void * ssl_psk_context
    Definition MQTTClient.h:763
    MQTTClient_SSLOptions::privateKeyPassword
    const char * privateKeyPassword
    Definition MQTTClient.h:705
    @@ -564,6 +555,7 @@ $(function(){ initResizable(false); });
    MQTTClient_connectOptions::ssl
    MQTTClient_SSLOptions * ssl
    Definition MQTTClient.h:921
    MQTTClient_connectOptions::reliable
    int reliable
    Definition MQTTClient.h:886
    MQTTClient_connectOptions::password
    const char * password
    Definition MQTTClient.h:904
    +
    MQTTClient_connectOptions::struct_id
    char struct_id[4]
    Definition MQTTClient.h:833
    MQTTClient_connectOptions::serverURIcount
    int serverURIcount
    Definition MQTTClient.h:925
    MQTTClient_connectOptions::serverURIs
    char *const * serverURIs
    Definition MQTTClient.h:939
    MQTTClient_connectOptions::username
    const char * username
    Definition MQTTClient.h:898
    @@ -576,9 +568,11 @@ $(function(){ initResizable(false); });
    MQTTClient_createOptions
    Definition MQTTClient.h:555
    MQTTClient_createOptions::struct_version
    int struct_version
    Definition MQTTClient.h:559
    MQTTClient_createOptions::MQTTVersion
    int MQTTVersion
    Definition MQTTClient.h:565
    +
    MQTTClient_createOptions::struct_id
    char struct_id[4]
    Definition MQTTClient.h:557
    MQTTClient_init_options
    Definition MQTTClient.h:235
    MQTTClient_init_options::struct_version
    int struct_version
    Definition MQTTClient.h:239
    MQTTClient_init_options::do_openssl_init
    int do_openssl_init
    Definition MQTTClient.h:241
    +
    MQTTClient_init_options::struct_id
    char struct_id[4]
    Definition MQTTClient.h:237
    MQTTClient_message
    Definition MQTTClient.h:277
    MQTTClient_message::struct_version
    int struct_version
    Definition MQTTClient.h:282
    MQTTClient_message::properties
    MQTTProperties properties
    Definition MQTTClient.h:334
    @@ -587,6 +581,7 @@ $(function(){ initResizable(false); });
    MQTTClient_message::retained
    int retained
    Definition MQTTClient.h:319
    MQTTClient_message::payload
    void * payload
    Definition MQTTClient.h:286
    MQTTClient_message::payloadlen
    int payloadlen
    Definition MQTTClient.h:284
    +
    MQTTClient_message::struct_id
    char struct_id[4]
    Definition MQTTClient.h:279
    MQTTClient_message::dup
    int dup
    Definition MQTTClient.h:326
    MQTTClient_nameValue
    Definition MQTTClient.h:798
    MQTTClient_nameValue::value
    const char * value
    Definition MQTTClient.h:800
    @@ -598,6 +593,7 @@ $(function(){ initResizable(false); });
    MQTTClient_willOptions::message
    const char * message
    Definition MQTTClient.h:640
    MQTTClient_willOptions::qos
    int qos
    Definition MQTTClient.h:649
    MQTTClient_willOptions::retained
    int retained
    Definition MQTTClient.h:644
    +
    MQTTClient_willOptions::struct_id
    char struct_id[4]
    Definition MQTTClient.h:632
    MQTTClient_willOptions::len
    int len
    Definition MQTTClient.h:653
    MQTTProperties
    Definition MQTTProperties.h:116
    MQTTResponse
    Definition MQTTClient.h:1033
    @@ -610,7 +606,7 @@ $(function(){ initResizable(false); }); diff --git a/docs/MQTTClient/html/_m_q_t_t_client_persistence_8h.html b/docs/MQTTClient/html/_m_q_t_t_client_persistence_8h.html index 04b4bd94..03157606 100644 --- a/docs/MQTTClient/html/_m_q_t_t_client_persistence_8h.html +++ b/docs/MQTTClient/html/_m_q_t_t_client_persistence_8h.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClientPersistence.h File Reference - - @@ -34,33 +32,22 @@ - + -
    Go to the source code of this file.

    - - + -

    +

    Data Structures

    struct  MQTTClient_persistence
    struct  MQTTClient_persistence
     A structure containing the function pointers to a persistence implementation and the context or state that will be shared across all the persistence functions. More...
     
    - - - - -

    +

    Macros

    #define MQTTCLIENT_PERSISTENCE_DEFAULT   0
     
    #define MQTTCLIENT_PERSISTENCE_NONE   1
     
    #define MQTTCLIENT_PERSISTENCE_USER   2
     
    #define MQTTCLIENT_PERSISTENCE_ERROR   -2
     
    - - - - - - - - - - -

    +

    Typedefs

    typedef int(* Persistence_open) (void **handle, const char *clientID, const char *serverURI, void *context)
     Initialize the persistent store.
     
    typedef int(* Persistence_close) (void *handle)
     Close the persistent store referred to by the handle.
     
    typedef int(* Persistence_put) (void *handle, char *key, int bufcount, char *buffers[], int buflens[])
     Put the specified data into the persistent store.
     
    typedef int(* Persistence_get) (void *handle, char *key, char **buffer, int *buflen)
     Retrieve the specified data from the persistent store.
     
    typedef int(* Persistence_remove) (void *handle, char *key)
     Remove the data for the specified key from the store.
     
    typedef int(* Persistence_keys) (void *handle, char ***keys, int *nkeys)
     Returns the keys in this persistent data store.
     
    typedef int(* Persistence_clear) (void *handle)
     Clears the persistence store, so that it no longer contains any persisted data.
     
    typedef int(* Persistence_containskey) (void *handle, char *key)
     Returns whether any data has been persisted using the specified key.
     
    typedef int MQTTPersistence_beforeWrite(void *context, int bufcount, char *buffers[], int buflens[])
     
    typedef int MQTTPersistence_afterRead(void *context, char **buffer, int *buflen)
     
    -

    Detailed Description

    +

    Detailed Description

    This structure represents a persistent data store, used to store outbound and inbound messages, in order to achieve reliable messaging.

    The MQTT Client persists QoS1 and QoS2 messages in order to meet the assurances of delivery associated with these Quality of service levels. The messages are saved in persistent storage The type and context of the persistence implementation are specified when the MQTT client is created (see MQTTClient_create()). The default persistence type (MQTTCLIENT_PERSISTENCE_DEFAULT) uses a file system-based persistence mechanism. The persistence_context argument passed to MQTTClient_create() when using the default peristence is a string representing the location of the persistence directory. If the context argument is NULL, the working directory will be used.

    To use memory-based persistence, an application passes MQTTCLIENT_PERSISTENCE_NONE as the persistence_type to MQTTClient_create(). This can lead to message loss in certain situations, but can be appropriate in some cases (see Quality of service).

    Client applications can provide their own persistence mechanism by passing MQTTCLIENT_PERSISTENCE_USER as the persistence_type. To implement a custom persistence mechanism, the application must pass an initialized MQTTClient_persistence structure as the persistence_context argument to MQTTClient_create().

    If the functions defined return an MQTTCLIENT_PERSISTENCE_ERROR then the state of the persisted data should remain as it was prior to the function being called. For example, if Persistence_put() returns MQTTCLIENT_PERSISTENCE_ERROR, then it is assumed tha tthe persistent store does not contain the data that was passed to the function. Similarly, if Persistence_remove() returns MQTTCLIENT_PERSISTENCE_ERROR then it is assumed that the data to be removed is still held in the persistent store.

    It is up to the persistence implementation to log any error information that may be required to diagnose a persistence mechanism failure.

    -

    Macro Definition Documentation

    +

    Macro Definition Documentation

    ◆ MQTTCLIENT_PERSISTENCE_DEFAULT

    @@ -214,7 +186,7 @@ Typedefs -

    Typedef Documentation

    +

    Typedef Documentation

    ◆ Persistence_open

    @@ -465,7 +437,7 @@ Typedefs diff --git a/docs/MQTTClient/html/_m_q_t_t_client_persistence_8h_source.html b/docs/MQTTClient/html/_m_q_t_t_client_persistence_8h_source.html index f3b41177..0b3b2b89 100644 --- a/docs/MQTTClient/html/_m_q_t_t_client_persistence_8h_source.html +++ b/docs/MQTTClient/html/_m_q_t_t_client_persistence_8h_source.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClientPersistence.h Source File - - @@ -34,35 +32,24 @@ - +
    -
    13 * Contributors:
    14 * Ian Craggs - initial API and implementation and/or initial documentation
    15 *******************************************************************************/
    -
    16
    +
    16
    +
    55
    56/*
    58*/
    59#if !defined(MQTTCLIENTPERSISTENCE_H)
    60#define MQTTCLIENTPERSISTENCE_H
    61/*
    63*/
    -
    64
    -
    69#define MQTTCLIENT_PERSISTENCE_DEFAULT 0
    -
    74#define MQTTCLIENT_PERSISTENCE_NONE 1
    +
    64
    +
    69#define MQTTCLIENT_PERSISTENCE_DEFAULT 0
    +
    74#define MQTTCLIENT_PERSISTENCE_NONE 1
    79#define MQTTCLIENT_PERSISTENCE_USER 2
    -
    80
    +
    80
    85#define MQTTCLIENT_PERSISTENCE_ERROR -2
    -
    86
    +
    86
    113typedef int (*Persistence_open)(void** handle, const char* clientID, const char* serverURI, void* context);
    -
    114
    +
    114
    123typedef int (*Persistence_close)(void* handle);
    -
    124
    +
    124
    140typedef int (*Persistence_put)(void* handle, char* key, int bufcount, char* buffers[], int buflens[]);
    -
    141
    +
    141
    156typedef int (*Persistence_get)(void* handle, char* key, char** buffer, int* buflen);
    -
    157
    +
    157
    169typedef int (*Persistence_remove)(void* handle, char* key);
    -
    170
    +
    170
    186typedef int (*Persistence_keys)(void* handle, char*** keys, int* nkeys);
    -
    187
    +
    187
    197typedef int (*Persistence_clear)(void* handle);
    -
    198
    +
    198
    208typedef int (*Persistence_containskey)(void* handle, char* key);
    -
    209
    +
    209
    215typedef struct {
    219 void* context;
    @@ -147,10 +135,10 @@ $(function(){ initResizable(false); });
    253
    -
    254
    +
    254
    264typedef int MQTTPersistence_beforeWrite(void* context, int bufcount, char* buffers[], int buflens[]);
    265
    -
    266
    +
    266
    275typedef int MQTTPersistence_afterRead(void* context, char** buffer, int* buflen);
    276
    277#endif
    @@ -177,7 +165,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/_m_q_t_t_properties_8h.html b/docs/MQTTClient/html/_m_q_t_t_properties_8h.html index 6c03ab3b..6477464a 100644 --- a/docs/MQTTClient/html/_m_q_t_t_properties_8h.html +++ b/docs/MQTTClient/html/_m_q_t_t_properties_8h.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTProperties.h File Reference - - @@ -34,33 +32,22 @@ - + -

    Go to the source code of this file.

    - - - - - - - + + +

    +

    Data Structures

    struct  MQTTLenString
     
    struct  MQTTProperty
     
    struct  MQTTProperties
     
    struct  MQTTLenString
    struct  MQTTProperty
    struct  MQTTProperties
    - - -

    +

    Macros

    #define MQTT_INVALID_PROPERTY_ID   -2
     
    #define MQTTProperties_initializer   {0, 0, 0, NULL}
     
    - -

    +

    Typedefs

    typedef struct MQTTProperties MQTTProperties
     
    - , MQTTPROPERTY_CODE_SHARED_SUBSCRIPTION_AVAILABLE = 42
    } - , MQTTPROPERTY_TYPE_UTF_8_STRING_PAIR
    } -

    +

    Enumerations

    enum  MQTTPropertyCodes {
      MQTTPROPERTY_CODE_PAYLOAD_FORMAT_INDICATOR = 1 @@ -159,7 +140,6 @@ Enumerations
     
    enum  MQTTPropertyTypes {
      MQTTPROPERTY_TYPE_BYTE , MQTTPROPERTY_TYPE_TWO_BYTE_INTEGER @@ -171,40 +151,25 @@ Enumerations
     
    - - - - - - - - - - - - - - -

    +

    Functions

    const char * MQTTPropertyName (enum MQTTPropertyCodes value)
     
    int MQTTProperty_getType (enum MQTTPropertyCodes value)
     
    int MQTTProperties_len (const MQTTProperties *props)
     
    int MQTTProperties_add (MQTTProperties *props, const MQTTProperty *prop)
     
    int MQTTProperties_write (char **pptr, const MQTTProperties *properties)
     
    int MQTTProperties_read (MQTTProperties *properties, char **pptr, char *enddata)
     
    void MQTTProperties_free (MQTTProperties *properties)
     
    MQTTProperties MQTTProperties_copy (const MQTTProperties *props)
     
    int MQTTProperties_hasProperty (const MQTTProperties *props, enum MQTTPropertyCodes propid)
     
    int MQTTProperties_propertyCount (const MQTTProperties *props, enum MQTTPropertyCodes propid)
     
    int64_t MQTTProperties_getNumericValue (const MQTTProperties *props, enum MQTTPropertyCodes propid)
     
    int64_t MQTTProperties_getNumericValueAt (const MQTTProperties *props, enum MQTTPropertyCodes propid, int index)
     
    MQTTPropertyMQTTProperties_getProperty (const MQTTProperties *props, enum MQTTPropertyCodes propid)
     
    MQTTPropertyMQTTProperties_getPropertyAt (const MQTTProperties *props, enum MQTTPropertyCodes propid, int index)
     
    -

    Macro Definition Documentation

    +

    Macro Definition Documentation

    ◆ MQTT_INVALID_PROPERTY_ID

    @@ -233,7 +198,7 @@ Functions
    -

    Typedef Documentation

    +

    Typedef Documentation

    ◆ MQTTProperties

    @@ -249,7 +214,7 @@ Functions -

    Enumeration Type Documentation

    +

    Enumeration Type Documentation

    ◆ MQTTPropertyCodes

    @@ -347,7 +312,7 @@ Functions -

    Function Documentation

    +

    Function Documentation

    ◆ MQTTPropertyName()

    @@ -366,7 +331,7 @@ Functions -extern +extern
    @@ -398,7 +363,7 @@ Functions -extern +extern
    @@ -458,7 +423,7 @@ Functions -extern +extern
    @@ -555,7 +520,7 @@ Functions -extern +extern
    @@ -586,7 +551,7 @@ Functions -extern +extern
    @@ -622,7 +587,7 @@ Functions -extern +extern
    @@ -659,7 +624,7 @@ Functions -extern +extern
    @@ -696,7 +661,7 @@ Functions -extern +extern
    @@ -738,7 +703,7 @@ Functions -extern +extern
    @@ -776,7 +741,7 @@ Functions -extern +extern
    @@ -818,7 +783,7 @@ Functions -extern +extern
    @@ -837,7 +802,7 @@ Functions
    diff --git a/docs/MQTTClient/html/_m_q_t_t_properties_8h_source.html b/docs/MQTTClient/html/_m_q_t_t_properties_8h_source.html index 9bf27e55..40508e98 100644 --- a/docs/MQTTClient/html/_m_q_t_t_properties_8h_source.html +++ b/docs/MQTTClient/html/_m_q_t_t_properties_8h_source.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTProperties.h Source File - - @@ -34,35 +32,24 @@ - +
    -
    22#include <stdint.h>
    23
    24#define MQTT_INVALID_PROPERTY_ID -2
    -
    25
    +
    25
    @@ -142,12 +129,12 @@ $(function(){ initResizable(false); }); - -
    56};
    + +
    56};
    -
    57
    +
    57
    64LIBMQTT_API const char* MQTTPropertyName(enum MQTTPropertyCodes value);
    -
    65
    +
    65
    @@ -156,12 +143,12 @@ $(function(){ initResizable(false); }); - -
    75};
    + +
    75};
    -
    76
    +
    76
    82LIBMQTT_API int MQTTProperty_getType(enum MQTTPropertyCodes value);
    -
    83
    +
    83
    87typedef struct
    88{
    @@ -170,7 +157,7 @@ $(function(){ initResizable(false); });
    92
    -
    93
    +
    93
    97typedef struct
    98{
    @@ -183,10 +170,10 @@ $(function(){ initResizable(false); });
    108 };
    -
    109 } value;
    +
    109 } value;
    -
    111
    +
    111
    115typedef struct MQTTProperties
    116{
    @@ -194,33 +181,33 @@ $(function(){ initResizable(false); });
    119 int length;
    - +
    122
    123#define MQTTProperties_initializer {0, 0, 0, NULL}
    -
    124
    +
    124
    130int MQTTProperties_len(const MQTTProperties* props);
    -
    131
    +
    131
    141LIBMQTT_API int MQTTProperties_add(MQTTProperties* props, const MQTTProperty* prop);
    -
    142
    +
    142
    149int MQTTProperties_write(char** pptr, const MQTTProperties* properties);
    -
    150
    +
    150
    158int MQTTProperties_read(MQTTProperties* properties, char** pptr, char* enddata);
    -
    159
    +
    159
    164LIBMQTT_API void MQTTProperties_free(MQTTProperties* properties);
    -
    165
    +
    165
    171LIBMQTT_API MQTTProperties MQTTProperties_copy(const MQTTProperties* props);
    -
    172
    +
    172
    179LIBMQTT_API int MQTTProperties_hasProperty(const MQTTProperties *props, enum MQTTPropertyCodes propid);
    -
    180
    +
    180
    188LIBMQTT_API int MQTTProperties_propertyCount(const MQTTProperties *props, enum MQTTPropertyCodes propid);
    -
    189
    +
    189
    196LIBMQTT_API int64_t MQTTProperties_getNumericValue(const MQTTProperties *props, enum MQTTPropertyCodes propid);
    -
    197
    +
    197
    206LIBMQTT_API int64_t MQTTProperties_getNumericValueAt(const MQTTProperties *props, enum MQTTPropertyCodes propid, int index);
    -
    207
    +
    207
    214LIBMQTT_API MQTTProperty* MQTTProperties_getProperty(const MQTTProperties *props, enum MQTTPropertyCodes propid);
    -
    215
    +
    215
    223LIBMQTT_API MQTTProperty* MQTTProperties_getPropertyAt(const MQTTProperties *props, enum MQTTPropertyCodes propid, int index);
    224
    225#endif /* MQTTPROPERTIES_H */
    @@ -229,7 +216,6 @@ $(function(){ initResizable(false); });
    MQTTProperty * MQTTProperties_getPropertyAt(const MQTTProperties *props, enum MQTTPropertyCodes propid, int index)
    MQTTProperties MQTTProperties_copy(const MQTTProperties *props)
    const char * MQTTPropertyName(enum MQTTPropertyCodes value)
    -
    struct MQTTProperties MQTTProperties
    int MQTTProperty_getType(enum MQTTPropertyCodes value)
    int MQTTProperties_add(MQTTProperties *props, const MQTTProperty *prop)
    MQTTPropertyTypes
    Definition MQTTProperties.h:67
    @@ -294,7 +280,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/_m_q_t_t_reason_codes_8h.html b/docs/MQTTClient/html/_m_q_t_t_reason_codes_8h.html index 85c14b72..44aabdc6 100644 --- a/docs/MQTTClient/html/_m_q_t_t_reason_codes_8h.html +++ b/docs/MQTTClient/html/_m_q_t_t_reason_codes_8h.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTReasonCodes.h File Reference - - @@ -34,33 +32,22 @@ - + -

    Go to the source code of this file.

    -   MQTTREASONCODE_WILDCARD_SUBSCRIPTIONS_NOT_SUPPORTED = 162
    } -

    +

    Enumerations

    enum  MQTTReasonCodes {
      MQTTREASONCODE_SUCCESS = 0 @@ -156,14 +143,12 @@ Enumerations
     
    - -

    +

    Functions

    const char * MQTTReasonCode_toString (enum MQTTReasonCodes value)
     
    -

    Enumeration Type Documentation

    +

    Enumeration Type Documentation

    ◆ MQTTReasonCodes

    @@ -226,7 +211,7 @@ Functions
    -

    Function Documentation

    +

    Function Documentation

    ◆ MQTTReasonCode_toString()

    @@ -245,7 +230,7 @@ Functions -extern +extern
    @@ -262,7 +247,7 @@ Functions
    diff --git a/docs/MQTTClient/html/_m_q_t_t_reason_codes_8h_source.html b/docs/MQTTClient/html/_m_q_t_t_reason_codes_8h_source.html index 27f9911a..e26b62ec 100644 --- a/docs/MQTTClient/html/_m_q_t_t_reason_codes_8h_source.html +++ b/docs/MQTTClient/html/_m_q_t_t_reason_codes_8h_source.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTReasonCodes.h Source File - - @@ -34,35 +32,24 @@ - +
    -
    18#define MQTTREASONCODES_H
    19
    20#include "MQTTExportDeclarations.h"
    -
    21
    +
    21
    @@ -155,10 +142,10 @@ $(function(){ initResizable(false); }); - -
    69};
    + +
    69};
    -
    70
    +
    70
    77LIBMQTT_API const char* MQTTReasonCode_toString(enum MQTTReasonCodes value);
    78
    79#endif
    @@ -212,7 +199,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/_m_q_t_t_subscribe_opts_8h.html b/docs/MQTTClient/html/_m_q_t_t_subscribe_opts_8h.html index 73edd749..f5a8d7c5 100644 --- a/docs/MQTTClient/html/_m_q_t_t_subscribe_opts_8h.html +++ b/docs/MQTTClient/html/_m_q_t_t_subscribe_opts_8h.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTSubscribeOpts.h File Reference - - @@ -34,33 +32,22 @@ - + -
    Go to the source code of this file.

    - - - +

    +

    Data Structures

    struct  MQTTSubscribe_options
     
    struct  MQTTSubscribe_options
    - -

    +

    Macros

    #define MQTTSubscribe_options_initializer   { {'M', 'Q', 'S', 'O'}, 0, 0, 0, 0 }
     
    - -

    +

    Typedefs

    typedef struct MQTTSubscribe_options MQTTSubscribe_options
     
    -

    Macro Definition Documentation

    +

    Macro Definition Documentation

    ◆ MQTTSubscribe_options_initializer

    @@ -125,7 +109,7 @@ Typedefs
    -

    Typedef Documentation

    +

    Typedef Documentation

    ◆ MQTTSubscribe_options

    @@ -144,7 +128,7 @@ Typedefs diff --git a/docs/MQTTClient/html/_m_q_t_t_subscribe_opts_8h_source.html b/docs/MQTTClient/html/_m_q_t_t_subscribe_opts_8h_source.html index 1c7b5dc1..147a1030 100644 --- a/docs/MQTTClient/html/_m_q_t_t_subscribe_opts_8h_source.html +++ b/docs/MQTTClient/html/_m_q_t_t_subscribe_opts_8h_source.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTSubscribeOpts.h Source File - - @@ -34,35 +32,24 @@ - +
    -
    16
    17#if !defined(SUBOPTS_H)
    18#define SUBOPTS_H
    -
    19
    +
    19
    22{
    @@ -115,13 +102,12 @@ $(function(){ initResizable(false); });
    31 unsigned char noLocal;
    36 unsigned char retainAsPublished;
    41 unsigned char retainHandling;
    - +
    43
    44#define MQTTSubscribe_options_initializer { {'M', 'Q', 'S', 'O'}, 0, 0, 0, 0 }
    45
    46#endif
    -
    struct MQTTSubscribe_options MQTTSubscribe_options
    Definition MQTTSubscribeOpts.h:22
    int struct_version
    Definition MQTTSubscribeOpts.h:27
    unsigned char retainHandling
    Definition MQTTSubscribeOpts.h:41
    @@ -131,7 +117,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/annotated.html b/docs/MQTTClient/html/annotated.html index bb4e7e39..64549133 100644 --- a/docs/MQTTClient/html/annotated.html +++ b/docs/MQTTClient/html/annotated.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Data Structures - - @@ -34,35 +32,24 @@ - +
    -
    diff --git a/docs/MQTTClient/html/async.html b/docs/MQTTClient/html/async.html index c510abdd..72f0b231 100644 --- a/docs/MQTTClient/html/async.html +++ b/docs/MQTTClient/html/async.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Asynchronous vs synchronous client applications - - @@ -34,33 +32,22 @@
    - + -
    -
    Asynchronous vs synchronous client applications
    +
    Asynchronous vs synchronous client applications

    This client library supports two modes of operation. These are referred to as synchronous and asynchronous modes. If your application calls MQTTClient_setCallbacks(), this puts the client into asynchronous mode, otherwise it operates in synchronous mode.

    @@ -95,7 +82,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/bc_s.png b/docs/MQTTClient/html/bc_s.png deleted file mode 100644 index 224b29aa..00000000 Binary files a/docs/MQTTClient/html/bc_s.png and /dev/null differ diff --git a/docs/MQTTClient/html/bc_sd.png b/docs/MQTTClient/html/bc_sd.png deleted file mode 100644 index 31ca888d..00000000 Binary files a/docs/MQTTClient/html/bc_sd.png and /dev/null differ diff --git a/docs/MQTTClient/html/callbacks.html b/docs/MQTTClient/html/callbacks.html index 62e81780..85ca620c 100644 --- a/docs/MQTTClient/html/callbacks.html +++ b/docs/MQTTClient/html/callbacks.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Callbacks - - @@ -34,33 +32,22 @@
    - + -
    -
    Callbacks
    +
    Callbacks

    You must not call a function from this API from within a callback otherwise a deadlock might result. The only exception to this is the ability to call connect within the connection lost callback, to allow a reconnect.

    When using MQTT 5.0, you can also call connect from within the disconnected callback, which is invoked when the MQTT server sends a disconnect packet. This server behaviour is allowed in MQTT 5.0, but not in MQTT 3.1.1, so the disconnected callback will never be invoked if you use MQTT 3.1.1.

    -

    In particular, you must make a publish call within the message arrived callback. These restrictions are all lifted in the MQTTAsync API.

    +

    In particular, you must not make a publish call within the message arrived callback. These restrictions are all lifted in the MQTTAsync API.

    If no callbacks are assigned, this will include the message arrived callback. This could be done if the application is a pure publisher, and does not subscribe to any topics. If however messages are received, and no message arrived callback is set, or receive not called, then those messages will accumulate and take up memory, as there is no place for them to be delivered. It is up to the application to protect against this situation.

    diff --git a/docs/MQTTClient/html/classes.html b/docs/MQTTClient/html/classes.html index 3b53d0e0..a7377f32 100644 --- a/docs/MQTTClient/html/classes.html +++ b/docs/MQTTClient/html/classes.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Data Structure Index - - @@ -34,35 +32,24 @@
    - +
    -
    diff --git a/docs/MQTTClient/html/clipboard.js b/docs/MQTTClient/html/clipboard.js index 42c1fb0e..9da9f3ca 100644 --- a/docs/MQTTClient/html/clipboard.js +++ b/docs/MQTTClient/html/clipboard.js @@ -28,8 +28,8 @@ SOFTWARE. */ let clipboard_title = "Copy to clipboard" -let clipboard_icon = `` -let clipboard_successIcon = `` +let clipboard_icon = `` +let clipboard_successIcon = `` let clipboard_successDuration = 1000 $(function() { diff --git a/docs/MQTTClient/html/closed.png b/docs/MQTTClient/html/closed.png deleted file mode 100644 index 98cc2c90..00000000 Binary files a/docs/MQTTClient/html/closed.png and /dev/null differ diff --git a/docs/MQTTClient/html/doc.svg b/docs/MQTTClient/html/doc.svg deleted file mode 100644 index 0b928a53..00000000 --- a/docs/MQTTClient/html/doc.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/MQTTClient/html/docd.svg b/docs/MQTTClient/html/docd.svg deleted file mode 100644 index ac18b275..00000000 --- a/docs/MQTTClient/html/docd.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/MQTTClient/html/doxygen.css b/docs/MQTTClient/html/doxygen.css index 574b3335..4c3d23b2 100644 --- a/docs/MQTTClient/html/doxygen.css +++ b/docs/MQTTClient/html/doxygen.css @@ -1,11 +1,12 @@ -/* The standard CSS for doxygen 1.12.0*/ +/* The standard CSS for doxygen 1.14.0*/ html { /* page base colors */ --page-background-color: white; --page-foreground-color: black; --page-link-color: #3D578C; ---page-visited-link-color: #4665A2; +--page-visited-link-color: #3D578C; +--page-external-link-color: #334975; /* index */ --index-odd-item-bg-color: #F8F9FC; @@ -16,46 +17,50 @@ html { /* header */ --header-background-color: #F9FAFC; --header-separator-color: #C4CFE5; ---header-gradient-image: url('nav_h.png'); ---group-header-separator-color: #879ECB; +--group-header-separator-color: #D9E0EE; --group-header-color: #354C7B; --inherit-header-color: gray; --footer-foreground-color: #2A3D61; ---footer-logo-width: 104px; +--footer-logo-width: 75px; --citation-label-color: #334975; --glow-color: cyan; --title-background-color: white; ---title-separator-color: #5373B4; +--title-separator-color: #C4CFE5; --directory-separator-color: #9CAFD4; --separator-color: #4A6AAA; --blockquote-background-color: #F7F8FB; --blockquote-border-color: #9CAFD4; ---scrollbar-thumb-color: #9CAFD4; +--scrollbar-thumb-color: #C4CFE5; --scrollbar-background-color: #F9FAFC; --icon-background-color: #728DC1; --icon-foreground-color: white; +/* --icon-doc-image: url('doc.svg'); --icon-folder-open-image: url('folderopen.svg'); ---icon-folder-closed-image: url('folderclosed.svg'); +--icon-folder-closed-image: url('folderclosed.svg');*/ +--icon-folder-open-fill-color: #C4CFE5; +--icon-folder-fill-color: #D8DFEE; +--icon-folder-border-color: #4665A2; +--icon-doc-fill-color: #D8DFEE; +--icon-doc-border-color: #4665A2; /* brief member declaration list */ --memdecl-background-color: #F9FAFC; --memdecl-separator-color: #DEE4F0; --memdecl-foreground-color: #555; --memdecl-template-color: #4665A2; +--memdecl-border-color: #D5DDEC; /* detailed member list */ --memdef-border-color: #A8B8D9; --memdef-title-background-color: #E2E8F2; ---memdef-title-gradient-image: url('nav_f.png'); ---memdef-proto-background-color: #DFE5F1; +--memdef-proto-background-color: #EEF1F7; --memdef-proto-text-color: #253555; ---memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); --memdef-doc-background-color: white; --memdef-param-name-color: #602020; --memdef-template-color: #4665A2; @@ -74,29 +79,34 @@ html { /** navigation bar/tree/menu */ --nav-background-color: #F9FAFC; --nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_b.png'); ---nav-gradient-hover-image: url('tab_h.png'); ---nav-gradient-active-image: url('tab_a.png'); ---nav-gradient-active-image-parent: url("../tab_a.png"); ---nav-separator-image: url('tab_s.png'); ---nav-breadcrumb-image: url('bc_s.png'); ---nav-breadcrumb-border-color: #C2CDE4; ---nav-splitbar-image: url('splitbar.png'); +--nav-border-color: #C4CFE5; +--nav-breadcrumb-separator-color: #C4CFE5; +--nav-breadcrumb-active-bg: #EEF1F7; +--nav-breadcrumb-color: #354C7B; +--nav-breadcrumb-border-color: #E1E7F2; +--nav-splitbar-bg-color: #DCE2EF; +--nav-splitbar-handle-color: #9CAFD4; --nav-font-size-level1: 13px; --nav-font-size-level2: 10px; --nav-font-size-level3: 9px; --nav-text-normal-color: #283A5D; --nav-text-hover-color: white; --nav-text-active-color: white; ---nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); ---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); --nav-menu-button-color: #364D7C; --nav-menu-background-color: white; --nav-menu-foreground-color: #555555; +--nav-menu-active-bg: #DCE2EF; +--nav-menu-active-color: #9CAFD4; --nav-menu-toggle-color: rgba(255, 255, 255, 0.5); ---nav-arrow-color: #9CAFD4; ---nav-arrow-selected-color: #9CAFD4; +--nav-arrow-color: #B6C4DF; +--nav-arrow-selected-color: #90A5CE; + +/* sync icon */ +--sync-icon-border-color: #C4CFE5; +--sync-icon-background-color: #F9FAFC; +--sync-icon-selected-background-color: #EEF1F7; +--sync-icon-color: #C4CFE5; +--sync-icon-selected-color: #6884BD; /* table of contents */ --toc-background-color: #F4F6FA; @@ -107,18 +117,20 @@ html { /** search field */ --search-background-color: white; --search-foreground-color: #909090; ---search-magnification-image: url('mag.svg'); ---search-magnification-select-image: url('mag_sel.svg'); --search-active-color: black; ---search-filter-background-color: #F9FAFC; +--search-filter-background-color: rgba(255,255,255,.7); +--search-filter-backdrop-filter: blur(4px); --search-filter-foreground-color: black; ---search-filter-border-color: #90A5CE; +--search-filter-border-color: rgba(150,150,150,.4); --search-filter-highlight-text-color: white; --search-filter-highlight-bg-color: #3D578C; --search-results-foreground-color: #425E97; ---search-results-background-color: #EEF1F7; ---search-results-border-color: black; ---search-box-shadow: inset 0.5px 0.5px 3px 0px #555; +--search-results-background-color: rgba(255,255,255,.8); +--search-results-backdrop-filter: blur(4px); +--search-results-border-color: rgba(150,150,150,.4); +--search-box-border-color: #B6C4DF; +--search-close-icon-bg-color: #A0A0A0; +--search-close-icon-fg-color: white; /** code fragments */ --code-keyword-color: #008000; @@ -147,23 +159,21 @@ html { --fragment-lineno-link-hover-bg-color: #C8C8C8; --fragment-copy-ok-color: #2EC82E; --tooltip-foreground-color: black; ---tooltip-background-color: white; ---tooltip-border-color: gray; +--tooltip-background-color: rgba(255,255,255,0.8); +--tooltip-arrow-background-color: white; +--tooltip-border-color: rgba(150,150,150,0.7); +--tooltip-backdrop-filter: blur(3px); --tooltip-doc-color: grey; --tooltip-declaration-color: #006318; --tooltip-link-color: #4665A2; ---tooltip-shadow: 1px 1px 7px gray; +--tooltip-shadow: 0 4px 8px 0 rgba(0,0,0,.25); --fold-line-color: #808080; ---fold-minus-image: url('minus.svg'); ---fold-plus-image: url('plus.svg'); ---fold-minus-image-relpath: url('../../minus.svg'); ---fold-plus-image-relpath: url('../../plus.svg'); /** font-family */ ---font-family-normal: Roboto,sans-serif; +--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; --font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; --font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; ---font-family-title: Tahoma,Arial,sans-serif; +--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; --font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; --font-family-search: Arial,Verdana,sans-serif; --font-family-icon: Arial,Helvetica; @@ -201,7 +211,8 @@ html { --page-background-color: black; --page-foreground-color: #C9D1D9; --page-link-color: #90A5CE; ---page-visited-link-color: #A3B4D7; +--page-visited-link-color: #90A5CE; +--page-external-link-color: #A3B4D7; /* index */ --index-odd-item-bg-color: #0B101A; @@ -212,8 +223,7 @@ html { /* header */ --header-background-color: #070B11; --header-separator-color: #141C2E; ---header-gradient-image: url('nav_hd.png'); ---group-header-separator-color: #283A5D; +--group-header-separator-color: #1D2A43; --group-header-color: #90A5CE; --inherit-header-color: #A0A0A0; @@ -223,35 +233,36 @@ html { --glow-color: cyan; --title-background-color: #090D16; ---title-separator-color: #354C79; +--title-separator-color: #212F4B; --directory-separator-color: #283A5D; --separator-color: #283A5D; --blockquote-background-color: #101826; --blockquote-border-color: #283A5D; ---scrollbar-thumb-color: #283A5D; +--scrollbar-thumb-color: #2C3F65; --scrollbar-background-color: #070B11; --icon-background-color: #334975; --icon-foreground-color: #C4CFE5; ---icon-doc-image: url('docd.svg'); ---icon-folder-open-image: url('folderopend.svg'); ---icon-folder-closed-image: url('folderclosedd.svg'); +--icon-folder-open-fill-color: #4665A2; +--icon-folder-fill-color: #5373B4; +--icon-folder-border-color: #C4CFE5; +--icon-doc-fill-color: #6884BD; +--icon-doc-border-color: #C4CFE5; /* brief member declaration list */ --memdecl-background-color: #0B101A; --memdecl-separator-color: #2C3F65; --memdecl-foreground-color: #BBB; --memdecl-template-color: #7C95C6; +--memdecl-border-color: #233250; /* detailed member list */ --memdef-border-color: #233250; --memdef-title-background-color: #1B2840; ---memdef-title-gradient-image: url('nav_fd.png'); --memdef-proto-background-color: #19243A; --memdef-proto-text-color: #9DB0D4; ---memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); --memdef-doc-background-color: black; --memdef-param-name-color: #D28757; --memdef-template-color: #7C95C6; @@ -270,29 +281,34 @@ html { /** navigation bar/tree/menu */ --nav-background-color: #101826; --nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_bd.png'); ---nav-gradient-hover-image: url('tab_hd.png'); ---nav-gradient-active-image: url('tab_ad.png'); ---nav-gradient-active-image-parent: url("../tab_ad.png"); ---nav-separator-image: url('tab_sd.png'); ---nav-breadcrumb-image: url('bc_sd.png'); +--nav-border-color: #212F4B; +--nav-breadcrumb-separator-color: #212F4B; +--nav-breadcrumb-active-bg: #1D2A43; +--nav-breadcrumb-color: #90A5CE; --nav-breadcrumb-border-color: #2A3D61; ---nav-splitbar-image: url('splitbard.png'); +--nav-splitbar-bg-color: #283A5D; +--nav-splitbar-handle-color: #4665A2; --nav-font-size-level1: 13px; --nav-font-size-level2: 10px; --nav-font-size-level3: 9px; --nav-text-normal-color: #B6C4DF; --nav-text-hover-color: #DCE2EF; --nav-text-active-color: #DCE2EF; ---nav-text-normal-shadow: 0px 1px 1px black; ---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); --nav-menu-button-color: #B6C4DF; --nav-menu-background-color: #05070C; --nav-menu-foreground-color: #BBBBBB; +--nav-menu-active-bg: #1D2A43; +--nav-menu-active-color: #C9D3E7; --nav-menu-toggle-color: rgba(255, 255, 255, 0.2); ---nav-arrow-color: #334975; ---nav-arrow-selected-color: #90A5CE; +--nav-arrow-color: #4665A2; +--nav-arrow-selected-color: #6884BD; + +/* sync icon */ +--sync-icon-border-color: #212F4B; +--sync-icon-background-color: #101826; +--sync-icon-selected-background-color: #1D2A43; +--sync-icon-color: #4665A2; +--sync-icon-selected-color: #5373B4; /* table of contents */ --toc-background-color: #151E30; @@ -303,18 +319,20 @@ html { /** search field */ --search-background-color: black; --search-foreground-color: #C5C5C5; ---search-magnification-image: url('mag_d.svg'); ---search-magnification-select-image: url('mag_seld.svg'); ---search-active-color: #C5C5C5; +--search-active-color: #F5F5F5; --search-filter-background-color: #101826; --search-filter-foreground-color: #90A5CE; +--search-filter-backdrop-filter: none; --search-filter-border-color: #7C95C6; --search-filter-highlight-text-color: #BCC9E2; --search-filter-highlight-bg-color: #283A5D; ---search-results-background-color: #101826; +--search-results-background-color: black; --search-results-foreground-color: #90A5CE; ---search-results-border-color: #7C95C6; ---search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; +--search-results-backdrop-filter: none; +--search-results-border-color: #334975; +--search-box-border-color: #334975; +--search-close-icon-bg-color: #909090; +--search-close-icon-fg-color: black; /** code fragments */ --code-keyword-color: #CC99CD; @@ -344,22 +362,20 @@ html { --fragment-copy-ok-color: #0EA80E; --tooltip-foreground-color: #C9D1D9; --tooltip-background-color: #202020; +--tooltip-arrow-background-color: #202020; +--tooltip-backdrop-filter: none; --tooltip-border-color: #C9D1D9; --tooltip-doc-color: #D9E1E9; --tooltip-declaration-color: #20C348; --tooltip-link-color: #79C0FF; --tooltip-shadow: none; --fold-line-color: #808080; ---fold-minus-image: url('minusd.svg'); ---fold-plus-image: url('plusd.svg'); ---fold-minus-image-relpath: url('../../minusd.svg'); ---fold-plus-image-relpath: url('../../plusd.svg'); /** font-family */ ---font-family-normal: Roboto,sans-serif; +--font-family-normal: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; --font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; --font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; ---font-family-title: Tahoma,Arial,sans-serif; +--font-family-title: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; --font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; --font-family-search: Arial,Verdana,sans-serif; --font-family-icon: Arial,Helvetica; @@ -389,8 +405,8 @@ html { --invariant-color-text: #cceed5; }} body { - background-color: var(--page-background-color); - color: var(--page-foreground-color); + background-color: var(--page-background-color); + color: var(--page-foreground-color); } body, table, div, p, dl { @@ -400,13 +416,22 @@ body, table, div, p, dl { line-height: 22px; } +body.resizing { + user-select: none; + -webkit-user-select: none; +} + +#doc-content { + scrollbar-width: thin; +} + /* @group Heading Levels */ .title { font-family: var(--font-family-normal); line-height: 28px; - font-size: 150%; - font-weight: bold; + font-size: 160%; + font-weight: 400; margin: 10px 2px; } @@ -415,7 +440,10 @@ h1.groupheader { } h2.groupheader { - border-bottom: 1px solid var(--group-header-separator-color); + box-shadow: 12px 0 var(--page-background-color), + -12px 0 var(--page-background-color), + 12px 1px var(--group-header-separator-color), + -12px 1px var(--group-header-separator-color); color: var(--group-header-color); font-size: 150%; font-weight: normal; @@ -425,6 +453,13 @@ h2.groupheader { width: 100%; } +td h2.groupheader { + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); +} + h3.groupheader { font-size: 100%; } @@ -451,8 +486,8 @@ p.startli, p.startdd { } th p.starttd, th p.intertd, th p.endtd { - font-size: 100%; - font-weight: 700; + font-size: 100%; + font-weight: 700; } p.starttd { @@ -497,9 +532,11 @@ h3.version { } div.navtab { - padding-right: 15px; + margin-right: 6px; + padding-right: 6px; text-align: right; line-height: 110%; + background-color: var(--nav-background-color); } div.navtab table { @@ -512,19 +549,10 @@ td.navtab { } td.navtabHL { - background-image: var(--nav-gradient-active-image); - background-repeat:repeat-x; padding-right: 6px; padding-left: 6px; -} - -td.navtabHL a, td.navtabHL a:visited { - color: var(--nav-text-hover-color); - text-shadow: var(--nav-text-hover-shadow); -} - -a.navtab { - font-weight: bold; + border-radius: 0 6px 6px 0; + background-color: var(--nav-menu-active-bg); } div.qindex{ @@ -599,16 +627,11 @@ a { color: var(--page-visited-link-color); } -a:hover { +span.label a:hover { text-decoration: none; background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); } -a:hover > span.arrow { - text-decoration: none; - background : var(--nav-background-color); -} - a.el { font-weight: bold; } @@ -616,12 +639,12 @@ a.el { a.elRef { } -a.code, a.code:visited, a.line, a.line:visited { - color: var(--code-link-color); +a.el, a.el:visited, a.code, a.code:visited, a.line, a.line:visited { + color: var(--page-link-color); } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: var(--code-external-link-color); + color: var(--page-external-link-color); } a.code.hl_class { /* style for links to class names in code snippets */ } @@ -658,119 +681,124 @@ dl.el { } ul.check { - list-style:none; - text-indent: -16px; - padding-left: 38px; + list-style:none; + text-indent: -16px; + padding-left: 38px; } li.unchecked:before { - content: "\2610\A0"; + content: "\2610\A0"; } li.checked:before { - content: "\2611\A0"; + content: "\2611\A0"; } ol { - text-indent: 0px; + text-indent: 0px; } ul { - text-indent: 0px; - overflow: visible; + text-indent: 0px; + overflow: visible; } ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; - list-style-type: none; + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; } #side-nav ul { - overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ } #main-nav ul { - overflow: visible; /* reset ul rule for the navigation bar drop down lists */ + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ } .fragment { - text-align: left; - direction: ltr; - overflow-x: auto; - overflow-y: hidden; - position: relative; - min-height: 12px; - margin: 10px 0px; - padding: 10px 10px; - border: 1px solid var(--fragment-border-color); - border-radius: 4px; - background-color: var(--fragment-background-color); - color: var(--fragment-foreground-color); + text-align: left; + direction: ltr; + overflow-x: auto; + overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid var(--fragment-border-color); + border-radius: 4px; + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); } pre.fragment { - word-wrap: break-word; - font-size: 10pt; - line-height: 125%; - font-family: var(--font-family-monospace); + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: var(--font-family-monospace); +} + +span.tt { + white-space: pre; + font-family: var(--font-family-monospace); } .clipboard { - width: 24px; - height: 24px; - right: 5px; - top: 5px; - opacity: 0; - position: absolute; - display: inline; - overflow: auto; - fill: var(--fragment-foreground-color); - justify-content: center; - align-items: center; - cursor: pointer; + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; + overflow: hidden; + justify-content: center; + align-items: center; + cursor: pointer; } .clipboard.success { - border: 1px solid var(--fragment-foreground-color); - border-radius: 4px; + border: 1px solid var(--fragment-foreground-color); + border-radius: 4px; } .fragment:hover .clipboard, .clipboard.success { - opacity: .28; + opacity: .4; } .clipboard:hover, .clipboard.success { - opacity: 1 !important; + opacity: 1 !important; } .clipboard:active:not([class~=success]) svg { - transform: scale(.91); + transform: scale(.91); } .clipboard.success svg { - fill: var(--fragment-copy-ok-color); + fill: var(--fragment-copy-ok-color); } .clipboard.success { - border-color: var(--fragment-copy-ok-color); + border-color: var(--fragment-copy-ok-color); } div.line { font-family: var(--font-family-monospace); - font-size: 13px; + font-size: 13px; min-height: 13px; line-height: 1.2; - text-wrap: unrestricted; + text-wrap: wrap; + word-break: break-all; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; + text-indent: -62px; + padding-left: 62px; padding-bottom: 0px; margin: 0px; -webkit-transition-property: background-color, box-shadow; @@ -786,8 +814,8 @@ div.line { } div.line:after { - content:"\000A"; - white-space: pre; + content:"\000A"; + white-space: pre; } div.line.glow { @@ -796,26 +824,67 @@ div.line.glow { } span.fold { - margin-left: 5px; - margin-right: 1px; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; display: inline-block; width: 12px; height: 12px; - background-repeat:no-repeat; - background-position:center; + margin-left: 4px; + margin-right: 1px; +} + +span.foldnone { + display: inline-block; + position: relative; + cursor: pointer; + user-select: none; +} + +span.fold.plus, span.fold.minus { + width: 10px; + height: 10px; + background-color: var(--fragment-background-color); + position: relative; + border: 1px solid var(--fold-line-color); + margin-right: 1px; +} + +span.fold.plus::before, span.fold.minus::before { + content: ''; + position: absolute; + background-color: var(--fold-line-color); +} + +span.fold.plus::before { + width: 2px; + height: 6px; + top: 2px; + left: 4px; +} + +span.fold.plus::after { + content: ''; + position: absolute; + width: 6px; + height: 2px; + top: 4px; + left: 2px; + background-color: var(--fold-line-color); +} + +span.fold.minus::before { + width: 6px; + height: 2px; + top: 4px; + left: 2px; } span.lineno { padding-right: 4px; - margin-right: 9px; + margin-right: 9px; text-align: right; border-right: 2px solid var(--fragment-lineno-border-color); color: var(--fragment-lineno-foreground-color); background-color: var(--fragment-lineno-background-color); - white-space: pre; + white-space: pre; } span.lineno a, span.lineno a:visited { color: var(--fragment-lineno-link-fg-color); @@ -837,18 +906,27 @@ span.lineno a:hover { } div.classindex ul { - list-style: none; - padding-left: 0; + list-style: none; + padding-left: 0; } div.classindex span.ai { - display: inline-block; + display: inline-block; } div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); + color: var(--group-header-color); + font-size: 110%; + font-weight: 500; + margin-left: 0px; + margin-top: 0em; + margin-bottom: 6px; + padding-top: 8px; + padding-bottom: 4px; } div.groupText { @@ -858,13 +936,13 @@ div.groupText { body { color: var(--page-foreground-color); - margin: 0; + margin: 0; } div.contents { margin-top: 10px; margin-left: 12px; - margin-right: 8px; + margin-right: 12px; } p.formulaDsp { @@ -884,9 +962,9 @@ img.formulaInl, img.inline { div.center { text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; } div.center img { @@ -961,10 +1039,10 @@ span.vhdllogic { } blockquote { - background-color: var(--blockquote-background-color); - border-left: 2px solid var(--blockquote-border-color); - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; } /* @end */ @@ -986,9 +1064,14 @@ th.dirtab { } hr { - height: 0px; border: none; - border-top: 1px solid var(--separator-color); + margin-top: 16px; + margin-bottom: 16px; + height: 1px; + box-shadow: 13px 0 var(--page-background-color), + -13px 0 var(--page-background-color), + 13px 1px var(--group-header-separator-color), + -13px 1px var(--group-header-separator-color); } hr.footer { @@ -1003,14 +1086,6 @@ table.memberdecls { } .memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } @@ -1020,13 +1095,23 @@ table.memberdecls { box-shadow: 0 0 15px var(--glow-color); } +.memberdecls tr[class^='memitem'] { + font-family: var(--font-family-monospace); +} + .mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { +.memItemLeft, .memItemRight { + padding-top: 2px; + padding-bottom: 2px; +} + +.memTemplParams { + padding-left: 10px; + padding-top: 5px; +} + +.memItemLeft, .memItemRight, .memTemplParams { background-color: var(--memdecl-background-color); - border: none; - margin: 4px; - padding: 1px 0 0 8px; } .mdescLeft, .mdescRight { @@ -1034,27 +1119,104 @@ table.memberdecls { color: var(--memdecl-foreground-color); } -.memSeparator { - border-bottom: 1px solid var(--memdecl-separator-color); - line-height: 1px; - margin: 0px; - padding: 0px; +tr[class^='memdesc'] { + box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,.075); } -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; +.mdescLeft { + border-left: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); } -.memItemRight, .memTemplItemRight { - width: 100%; +.mdescRight { + border-right: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); } .memTemplParams { color: var(--memdecl-template-color); - white-space: nowrap; + white-space: nowrap; font-size: 80%; + border-left: 1px solid var(--memdecl-border-color); + border-right: 1px solid var(--memdecl-border-color); } +td.ititle { + border: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; + border-top-right-radius: 4px; + padding-left: 10px; +} + +tr:not(:first-child) > td.ititle { + border-top: 0; + border-radius: 0; +} + +.memItemLeft { + white-space: nowrap; + border-left: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); + padding-left: 10px; + transition: none; +} + +.memItemRight { + width: 100%; + border-right: 1px solid var(--memdecl-border-color); + border-bottom: 1px solid var(--memdecl-border-color); + padding-right: 10px; + transition: none; +} + +tr.heading + tr[class^='memitem'] td.memItemLeft, +tr.groupHeader + tr[class^='memitem'] td.memItemLeft, +tr.inherit_header + tr[class^='memitem'] td.memItemLeft { + border-top: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; +} + +tr.heading + tr[class^='memitem'] td.memItemRight, +tr.groupHeader + tr[class^='memitem'] td.memItemRight, +tr.inherit_header + tr[class^='memitem'] td.memItemRight { + border-top: 1px solid var(--memdecl-border-color); + border-top-right-radius: 4px; +} + +tr.heading + tr[class^='memitem'] td.memTemplParams, +tr.heading + tr td.ititle, +tr.groupHeader + tr[class^='memitem'] td.memTemplParams, +tr.groupHeader + tr td.ititle, +tr.inherit_header + tr[class^='memitem'] td.memTemplParams { + border-top: 1px solid var(--memdecl-border-color); + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +table.memberdecls tr:last-child td.memItemLeft, +table.memberdecls tr:last-child td.mdescLeft, +table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, +table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, +table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, +table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft { + border-bottom-left-radius: 4px; +} + +table.memberdecls tr:last-child td.memItemRight, +table.memberdecls tr:last-child td.mdescRight, +table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, +table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, +table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, +table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight { + border-bottom-right-radius: 4px; +} + +tr.template .memItemLeft, tr.template .memItemRight { + border-top: none; + padding-top: 0; +} + + /* @end */ /* @group Member Details */ @@ -1069,24 +1231,43 @@ table.memberdecls { border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; - background-image: var(--memdef-title-gradient-image); - background-repeat: repeat-x; - background-color: var(--memdef-title-background-color); + background-color: var(--memdef-proto-background-color); line-height: 1.25; - font-weight: 300; + font-family: var(--font-family-monospace); + font-weight: 500; + font-size: 16px; float:left; + box-shadow: 0 10px 0 -1px var(--memdef-proto-background-color), + 0 2px 8px 0 rgba(0,0,0,.075); + position: relative; +} + +.memtitle:after { + content: ''; + display: block; + background: var(--memdef-proto-background-color); + height: 10px; + bottom: -10px; + left: 0px; + right: -14px; + position: absolute; + border-top-right-radius: 6px; } .permalink { - font-size: 65%; - display: inline-block; - vertical-align: middle; + font-family: var(--font-family-monospace); + font-weight: 500; + line-height: 1.25; + font-size: 16px; + display: inline-block; + vertical-align: middle; } .memtemplate { font-size: 80%; color: var(--memdef-template-color); + font-family: var(--font-family-monospace); font-weight: normal; margin-left: 9px; } @@ -1099,22 +1280,21 @@ table.memberdecls { padding: 0; margin-bottom: 10px; margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; + display: table !important; + width: 100%; + box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); + border-radius: 4px; } .memitem.glow { - box-shadow: 0 0 15px var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); } .memname { - font-weight: 400; - margin-left: 6px; + font-family: var(--font-family-monospace); + font-size: 13px; + font-weight: 400; + margin-left: 6px; } .memname td { @@ -1122,53 +1302,39 @@ table.memberdecls { } .memproto, dl.reflist dt { - border-top: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); - padding: 6px 0px 6px 0px; - color: var(--memdef-proto-text-color); - font-weight: bold; - text-shadow: var(--memdef-proto-text-shadow); - background-color: var(--memdef-proto-background-color); - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 0px 6px 0px; + color: var(--memdef-proto-text-color); + font-weight: bold; + background-color: var(--memdef-proto-background-color); + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); } .overload { - font-family: var(--font-family-monospace); + font-family: var(--font-family-monospace); font-size: 65%; } .memdoc, dl.reflist dd { - border-bottom: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); - padding: 6px 10px 2px 10px; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: var(--memdef-doc-background-color); - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 10px 2px 10px; + border-top-width: 0; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; } dl.reflist dt { - padding: 5px; + padding: 5px; } dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; + margin: 0px 0px 10px 0px; + padding: 5px; } .paramkey { @@ -1183,9 +1349,9 @@ dl.reflist dd { .paramname { white-space: nowrap; - padding: 0px; - padding-bottom: 1px; - margin-left: 2px; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; } .paramname em { @@ -1199,23 +1365,23 @@ dl.reflist dd { } .params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; + margin-left: 0px; + padding-left: 0px; } .params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { - font-weight: bold; - vertical-align: top; + font-weight: bold; + vertical-align: top; } .params .paramtype, .tparams .paramtype { - font-style: italic; - vertical-align: top; + font-style: italic; + vertical-align: top; } .params .paramdir, .tparams .paramdir { - font-family: var(--font-family-monospace); - vertical-align: top; + font-family: var(--font-family-monospace); + vertical-align: top; } table.mlabels { @@ -1234,15 +1400,15 @@ td.mlabels-right { } span.mlabels { - margin-left: 8px; + margin-left: 8px; } span.mlabel { - background-color: var(--label-background-color); - border-top:1px solid var(--label-left-top-border-color); - border-left:1px solid var(--label-left-top-border-color); - border-right:1px solid var(--label-right-bottom-border-color); - border-bottom:1px solid var(--label-right-bottom-border-color); + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); text-shadow: none; color: var(--label-foreground-color); margin-right: 4px; @@ -1260,39 +1426,37 @@ span.mlabel { /* these are for tree view inside a (index) page */ div.directory { - margin: 10px 0px; - border-top: 1px solid var(--directory-separator-color); - border-bottom: 1px solid var(--directory-separator-color); - width: 100%; + margin: 10px 0px; + width: 100%; } .directory table { - border-collapse:collapse; + border-collapse:collapse; } .directory td { - margin: 0px; - padding: 0px; + margin: 0px; + padding: 0px; vertical-align: top; } .directory td.entry { - white-space: nowrap; - padding-right: 6px; + white-space: nowrap; + padding-right: 6px; padding-top: 3px; } .directory td.entry a { - outline:none; + outline:none; } .directory td.entry a img { - border: none; + border: none; } .directory td.desc { - width: 100%; - padding-left: 6px; + width: 100%; + padding-left: 6px; padding-right: 6px; padding-top: 3px; border-left: 1px solid rgba(0,0,0,0.05); @@ -1313,90 +1477,178 @@ div.directory { } .directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; } .directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; + cursor: pointer; + padding-left: 2px; + padding-right: 2px; color: var(--page-link-color); } .arrow { - color: var(--nav-arrow-color); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; + color: var(--nav-background-color); + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 14px; + transition: opacity 0.3s ease; +} + +span.arrowhead { + position: relative; + padding: 0; + margin: 0 0 0 2px; + display: inline-block; + width: 5px; + height: 5px; + border-right: 2px solid var(--nav-arrow-color); + border-bottom: 2px solid var(--nav-arrow-color); + transform: rotate(-45deg); + transition: transform 0.3s ease; +} + +span.arrowhead.opened { + transform: rotate(45deg); +} + +.selected span.arrowhead { + border-right: 2px solid var(--nav-arrow-selected-color); + border-bottom: 2px solid var(--nav-arrow-selected-color); } .icon { - font-family: var(--font-family-icon); - line-height: normal; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: var(--icon-background-color); - color: var(--icon-foreground-color); - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; + font-family: var(--font-family-icon); + line-height: normal; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; } .icona { - width: 24px; - height: 22px; - display: inline-block; + width: 24px; + height: 22px; + display: inline-block; } -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-folder-open-image); - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-folder-closed-image); - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; +.iconfolder { + width: 24px; + height: 18px; + margin-top: 6px; + vertical-align:top; + display: inline-block; + position: relative; } .icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-doc-image); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; + width: 24px; + height: 18px; + margin-top: 3px; + vertical-align:top; + display: inline-block; + position: relative; } +.folder-icon { + width: 16px; + height: 11px; + background-color: var(--icon-folder-fill-color); + border: 1px solid var(--icon-folder-border-color); + border-radius: 0 2px 2px 2px; + position: relative; + box-sizing: content-box; +} + +.folder-icon::after { + content: ''; + position: absolute; + top: 2px; + left: -1px; + width: 16px; + height: 7px; + background-color: var(--icon-folder-open-fill-color); + border: 1px solid var(--icon-folder-border-color); + border-radius: 7px 7px 2px 2px; + transform-origin: top left; + opacity: 0; + transition: all 0.3s linear; +} + +.folder-icon::before { + content: ''; + position: absolute; + top: -3px; + left: -1px; + width: 6px; + height: 2px; + background-color: var(--icon-folder-fill-color); + border-top: 1px solid var(--icon-folder-border-color); + border-left: 1px solid var(--icon-folder-border-color); + border-right: 1px solid var(--icon-folder-border-color); + border-radius: 2px 2px 0 0; +} + +.folder-icon.open::after { + top: 3px; + opacity: 1; +} + +.doc-icon { + left: 6px; + width: 12px; + height: 16px; + background-color: var(--icon-doc-border-color); + clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%); + position: relative; + display: inline-block; +} +.doc-icon::before { + content: ""; + left: 1px; + top: 1px; + width: 10px; + height: 14px; + background-color: var(--icon-doc-fill-color); + clip-path: polygon(0 0, 66% 0, 100% 25%, 100% 100%, 0 100%); + position: absolute; + box-sizing: border-box; +} +.doc-icon::after { + content: ""; + left: 7px; + top: 0px; + width: 3px; + height: 3px; + background-color: transparent; + position: absolute; + border: 1px solid var(--icon-doc-border-color); +} + + + + /* @end */ div.dynheader { - margin-top: 8px; + margin-top: 8px; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; @@ -1405,6 +1657,13 @@ div.dynheader { user-select: none; } +span.dynarrow { + position: relative; + display: inline-block; + width: 12px; + bottom: 1px; +} + address { font-style: normal; color: var(--footer-foreground-color); @@ -1416,8 +1675,8 @@ table.doxtable caption { table.doxtable { border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; + margin-top: 4px; + margin-bottom: 4px; } table.doxtable td, table.doxtable th { @@ -1434,133 +1693,145 @@ table.doxtable th { } table.fieldtable { - margin-bottom: 10px; - border: 1px solid var(--memdef-border-color); - border-spacing: 0px; - border-radius: 4px; - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + margin-bottom: 10px; + border: 1px solid var(--memdef-border-color); + border-spacing: 0px; + border-radius: 4px; + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } .fieldtable td, .fieldtable th { - padding: 3px 7px 2px; + padding: 3px 7px 2px; } .fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit { - white-space: nowrap; - border-right: 1px solid var(--memdef-border-color); - border-bottom: 1px solid var(--memdef-border-color); - vertical-align: top; + white-space: nowrap; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); + vertical-align: top; } .fieldtable td.fieldname { - padding-top: 3px; + padding-top: 3px; } .fieldtable td.fieldinit { - padding-top: 3px; - text-align: right; + padding-top: 3px; + text-align: right; } .fieldtable td.fielddoc { - border-bottom: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); } .fieldtable td.fielddoc p:first-child { - margin-top: 0px; + margin-top: 0px; } .fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; + margin-bottom: 2px; } .fieldtable tr:last-child td { - border-bottom: none; + border-bottom: none; } .fieldtable th { - background-image: var(--memdef-title-gradient-image); - background-repeat:repeat-x; - background-color: var(--memdef-title-background-color); - font-size: 90%; - color: var(--memdef-proto-text-color); - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid var(--memdef-border-color); + background-color: var(--memdef-title-background-color); + font-size: 90%; + color: var(--memdef-proto-text-color); + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); } +/* ----------- navigation breadcrumb styling ----------- */ -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: var(--nav-gradient-image); - z-index: 101; +#nav-path ul { + height: 30px; + line-height: 30px; + color: var(--nav-text-normal-color); overflow: hidden; - font-size: 13px; + margin: 0px; + padding-left: 4px; + background-image: none; + background: var(--page-background-color); + border-bottom: 1px solid var(--nav-breadcrumb-separator-color); + font-size: var(--nav-font-size-level1); + font-family: var(--font-family-nav); + position: relative; + z-index: 100; } -.navpath ul -{ - font-size: 11px; - background-image: var(--nav-gradient-image); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:var(--nav-text-normal-color); - border:solid 1px var(--nav-breadcrumb-border-color); - overflow:hidden; - margin:0px; - padding:0px; +#main-nav { + border-bottom: 1px solid var(--nav-border-color); } -.navpath li -{ +.navpath li { list-style-type:none; float:left; - padding-left:10px; - padding-right:15px; - background-image:var(--nav-breadcrumb-image); - background-repeat:no-repeat; - background-position:right; color: var(--nav-foreground-color); } -.navpath li.navelem a -{ - height:32px; - display:block; - outline: none; - color: var(--nav-text-normal-color); - font-family: var(--font-family-nav); - text-shadow: var(--nav-text-normal-shadow); - text-decoration: none; +.navpath li.footer { + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + font-size: 8pt; + color: var(--footer-foreground-color); } -.navpath li.navelem a:hover -{ - color: var(--nav-text-hover-color); - text-shadow: var(--nav-text-hover-shadow); +#nav-path li.navelem { + background-image: none; + display: flex; + align-items: center; + padding-left: 15px; } -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color: var(--footer-foreground-color); - font-size: 8pt; +.navpath li.navelem a { + text-shadow: none; + display: inline-block; + color: var(--nav-breadcrumb-color); + position: relative; + top: 0px; + height: 30px; + margin-right: -20px; } +#nav-path li.navelem:after { + content: ''; + display: inline-block; + position: relative; + top: 0; + right: -15px; + width: 30px; + height: 30px; + transform: scaleX(0.5) scale(0.707) rotate(45deg); + z-index: 10; + background: var(--page-background-color); + box-shadow: 2px -2px 0 2px var(--nav-breadcrumb-separator-color); + border-radius: 0 5px 0 50px; +} + +#nav-path li.navelem:first-child { + margin-left: -6px; +} + +#nav-path li.navelem:hover, +#nav-path li.navelem:hover:after { + background-color: var(--nav-breadcrumb-active-bg); +} + +/* ---------------------- */ div.summary { @@ -1578,14 +1849,14 @@ div.summary a table.classindex { - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; } div.ingroups @@ -1602,10 +1873,8 @@ div.ingroups a div.header { - background-image: var(--header-gradient-image); - background-repeat:repeat-x; - background-color: var(--header-background-color); margin: 0px; + background-color: var(--header-background-color); border-bottom: 1px solid var(--header-separator-color); } @@ -1614,168 +1883,105 @@ div.headertitle padding: 5px 5px 5px 10px; } -.PageDocRTL-title div.headertitle { - text-align: right; - direction: rtl; -} - dl { - padding: 0 0 0 0; + padding: 0 0 0 0; } -/* - -dl.section { - margin-left: 0px; - padding-left: 0px; -} - -dl.note { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention, dl.important { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00D000; -} - -dl.deprecated { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #505050; -} - -dl.todo { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00C0E0; -} - -dl.test { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #3030E0; -} - -dl.bug { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #C08050; -} - -*/ - dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { - font-weight: bold !important; + font-weight: bold !important; } dl.warning, dl.attention, dl.important, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { - padding: 10px; - margin: 10px 0px; - overflow: hidden; - margin-left: 0; - border-radius: 4px; + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; } dl.section dd { - margin-bottom: 2px; + margin-bottom: 2px; } dl.warning, dl.attention, dl.important { - background: var(--warning-color-bg); - border-left: 8px solid var(--warning-color-hl); - color: var(--warning-color-text); + background: var(--warning-color-bg); + border-left: 8px solid var(--warning-color-hl); + color: var(--warning-color-text); } dl.warning dt, dl.attention dt, dl.important dt { - color: var(--warning-color-hl); + color: var(--warning-color-hl); } dl.note, dl.remark { - background: var(--note-color-bg); - border-left: 8px solid var(--note-color-hl); - color: var(--note-color-text); + background: var(--note-color-bg); + border-left: 8px solid var(--note-color-hl); + color: var(--note-color-text); } dl.note dt, dl.remark dt { - color: var(--note-color-hl); + color: var(--note-color-hl); } dl.todo { - background: var(--todo-color-bg); - border-left: 8px solid var(--todo-color-hl); - color: var(--todo-color-text); + background: var(--todo-color-bg); + border-left: 8px solid var(--todo-color-hl); + color: var(--todo-color-text); } dl.todo dt { - color: var(--todo-color-hl); + color: var(--todo-color-hl); } dl.test { - background: var(--test-color-bg); - border-left: 8px solid var(--test-color-hl); - color: var(--test-color-text); + background: var(--test-color-bg); + border-left: 8px solid var(--test-color-hl); + color: var(--test-color-text); } dl.test dt { - color: var(--test-color-hl); + color: var(--test-color-hl); } dl.bug dt a { - color: var(--bug-color-hl) !important; + color: var(--bug-color-hl) !important; } dl.bug { - background: var(--bug-color-bg); - border-left: 8px solid var(--bug-color-hl); - color: var(--bug-color-text); + background: var(--bug-color-bg); + border-left: 8px solid var(--bug-color-hl); + color: var(--bug-color-text); } dl.bug dt a { - color: var(--bug-color-hl) !important; + color: var(--bug-color-hl) !important; } dl.deprecated { - background: var(--deprecated-color-bg); - border-left: 8px solid var(--deprecated-color-hl); - color: var(--deprecated-color-text); + background: var(--deprecated-color-bg); + border-left: 8px solid var(--deprecated-color-hl); + color: var(--deprecated-color-text); } dl.deprecated dt a { - color: var(--deprecated-color-hl) !important; + color: var(--deprecated-color-hl) !important; } dl.note dd, dl.warning dd, dl.pre dd, dl.post dd, dl.remark dd, dl.attention dd, dl.important dd, dl.invariant dd, dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { - margin-inline-start: 0px; + margin-inline-start: 0px; } dl.invariant, dl.pre, dl.post { - background: var(--invariant-color-bg); - border-left: 8px solid var(--invariant-color-hl); - color: var(--invariant-color-text); + background: var(--invariant-color-bg); + border-left: 8px solid var(--invariant-color-hl); + color: var(--invariant-color-text); } dl.invariant dt, dl.pre dt, dl.post dt { - color: var(--invariant-color-hl); + color: var(--invariant-color-hl); } @@ -1798,22 +2004,27 @@ dl.invariant dt, dl.pre dt, dl.post dt { #projectalign { - vertical-align: middle; - padding-left: 0.5em; + vertical-align: middle; + padding-left: 0.5em; } #projectname { font-size: 200%; font-family: var(--font-family-title); - margin: 0px; - padding: 2px 0px; + margin: 0; + padding: 0; +} + +#side-nav #projectname +{ + font-size: 130%; } #projectbrief { font-size: 90%; - font-family: var(--font-family-title); + font-family: var(--font-family-title); margin: 0px; padding: 0px; } @@ -1821,43 +2032,42 @@ dl.invariant dt, dl.pre dt, dl.post dt { #projectnumber { font-size: 50%; - font-family: 50% var(--font-family-title); + font-family: var(--font-family-title); margin: 0px; padding: 0px; } #titlearea { - padding: 0px; + padding: 0 0 0 5px; margin: 0px; - width: 100%; border-bottom: 1px solid var(--title-separator-color); background-color: var(--title-background-color); } .image { - text-align: center; + text-align: center; } .dotgraph { - text-align: center; + text-align: center; } .mscgraph { - text-align: center; + text-align: center; } .plantumlgraph { - text-align: center; + text-align: center; } .diagraph { - text-align: center; + text-align: center; } .caption @@ -1866,67 +2076,67 @@ dl.invariant dt, dl.pre dt, dl.post dt { } dl.citelist { - margin-bottom:50px; + margin-bottom:50px; } dl.citelist dt { - color:var(--citation-label-color); - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; - text-align:right; - width:52px; + color:var(--citation-label-color); + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; } dl.citelist dd { - margin:2px 0 2px 72px; - padding:5px 0; + margin:2px 0 2px 72px; + padding:5px 0; } div.toc { - padding: 14px 25px; - background-color: var(--toc-background-color); - border: 1px solid var(--toc-border-color); - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; + padding: 14px 25px; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; } div.toc li { - background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; - font: 10px/1.2 var(--font-family-toc); - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; } div.toc h3 { - font: bold 12px/1.2 var(--font-family-toc); + font: bold 12px/1.2 var(--font-family-toc); color: var(--toc-header-color); - border-bottom: 0 none; - margin: 0; + border-bottom: 0 none; + margin: 0; } div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; + list-style: none outside none; + border: medium none; + padding: 0px; } div.toc li[class^='level'] { - margin-left: 15px; + margin-left: 15px; } div.toc li.level1 { - margin-left: 0px; + margin-left: 0px; } div.toc li.empty { - background-image: none; - margin-top: 0px; + background-image: none; + margin-top: 0px; } span.emoji { @@ -1936,13 +2146,12 @@ span.emoji { } span.obfuscator { - display: none; + display: none; } .inherit_header { - font-weight: bold; - color: var(--inherit-header-color); - cursor: pointer; + font-weight: 400; + cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; @@ -1952,49 +2161,49 @@ span.obfuscator { } .inherit_header td { - padding: 6px 0px 2px 5px; + padding: 6px 0 2px 0; } .inherit { - display: none; + display: none; } tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; + margin-top: 12px; + margin-bottom: 12px; } /* tooltip related style info */ .ttc { - position: absolute; - display: none; + position: absolute; + display: none; } #powerTip { cursor: default; - /*white-space: nowrap;*/ - color: var(--tooltip-foreground-color); + color: var(--tooltip-foreground-color); background-color: var(--tooltip-background-color); + backdrop-filter: var(--tooltip-backdrop-filter); + -webkit-backdrop-filter: var(--tooltip-backdrop-filter); border: 1px solid var(--tooltip-border-color); - border-radius: 4px 4px 4px 4px; + border-radius: 4px; box-shadow: var(--tooltip-shadow); display: none; font-size: smaller; max-width: 80%; - opacity: 0.9; padding: 1ex 1em 1em; position: absolute; z-index: 2147483647; } #powerTip div.ttdoc { - color: var(--tooltip-doc-color); + color: var(--tooltip-doc-color); font-style: italic; } #powerTip div.ttname a { - font-weight: bold; + font-weight: bold; } #powerTip a { @@ -2002,18 +2211,18 @@ tr.heading h2 { } #powerTip div.ttname { - font-weight: bold; + font-weight: bold; } #powerTip div.ttdeci { - color: var(--tooltip-declaration-color); + color: var(--tooltip-declaration-color); } #powerTip div { - margin: 0px; - padding: 0px; - font-size: 12px; - font-family: var(--font-family-tooltip); + margin: 0px; + padding: 0px; + font-size: 12px; + font-family: var(--font-family-tooltip); line-height: 16px; } @@ -2059,7 +2268,7 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: var(--tooltip-background-color); + border-top-color: var(--tooltip-arrow-background-color); border-width: 10px; margin: 0px -10px; } @@ -2087,7 +2296,7 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: var(--tooltip-background-color); + border-bottom-color: var(--tooltip-arrow-background-color); border-width: 10px; margin: 0px -10px; } @@ -2144,29 +2353,29 @@ tr.heading h2 { @media print { - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } } /* @group Markdown */ table.markdownTable { border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; + margin-top: 4px; + margin-bottom: 4px; } table.markdownTable td, table.markdownTable th { @@ -2197,9 +2406,13 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } -tt, code, kbd, samp +tt, code, kbd { - display: inline-block; + display: inline-block; +} +tt, code, kbd +{ + vertical-align: top; } /* @end */ @@ -2208,26 +2421,34 @@ u { } details>summary { - list-style-type: none; + list-style-type: none; } details > summary::-webkit-details-marker { - display: none; + display: none; } details>summary::before { - content: "\25ba"; - padding-right:4px; - font-size: 80%; + content: "\25ba"; + padding-right:4px; + font-size: 80%; } details[open]>summary::before { - content: "\25bc"; - padding-right:4px; - font-size: 80%; + content: "\25bc"; + padding-right:4px; + font-size: 80%; } -body { + +html { +--timestamp: 'Sat Aug 16 2025 14:15:23' +} +span.timestamp { content: ' '; } +span.timestamp:before { content: var(--timestamp); } + +:root { + scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); } diff --git a/docs/MQTTClient/html/doxygen_crawl.html b/docs/MQTTClient/html/doxygen_crawl.html index b8624f3f..ee108eeb 100644 --- a/docs/MQTTClient/html/doxygen_crawl.html +++ b/docs/MQTTClient/html/doxygen_crawl.html @@ -4,94 +4,10 @@ Validator / crawler helper - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -183,6 +99,7 @@ + @@ -198,6 +115,7 @@ + @@ -253,6 +171,7 @@ + @@ -301,12 +220,16 @@ + + + + @@ -318,6 +241,7 @@ + @@ -363,8 +287,8 @@ - - + + @@ -401,11 +325,11 @@ - + @@ -420,7 +344,7 @@ - + diff --git a/docs/MQTTClient/html/dynsections.js b/docs/MQTTClient/html/dynsections.js index b05f4c8d..0e15bd4d 100644 --- a/docs/MQTTClient/html/dynsections.js +++ b/docs/MQTTClient/html/dynsections.js @@ -28,7 +28,6 @@ function toggleVisibility(linkObj) { } let dynsection = { - // helper function updateStripes : function() { $('table.directory tr'). @@ -44,15 +43,13 @@ let dynsection = { const trigger = $('#'+base+'-trigger'); const src=$(trigger).attr('src'); if (content.is(':visible')===true) { - content.hide(); + content.slideUp('fast'); summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + $(linkObj).find('.arrowhead').addClass('closed').removeClass('opened'); } else { - content.show(); + content.slideDown('fast'); summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + $(linkObj).find('.arrowhead').removeClass('closed').addClass('opened'); } return false; }, @@ -63,12 +60,12 @@ let dynsection = { const i = $('#img'+this.id.substring(3)); const a = $('#arr'+this.id.substring(3)); if (l'); + $('span[class=lineno]:first').append(''); // add vertical lines to other rows $('span[class=lineno]').not(':eq(0)').append(''); // add toggle controls to lines with fold divs @@ -173,9 +167,8 @@ let codefold = { const start = $(this).attr('data-start'); const end = $(this).attr('data-end'); // replace normal fold span with controls for the first line of a foldable fragment - $(this).find('span[class=fold]:first').replaceWith(''); + $(this).find('span[class=fold]:first').replaceWith(''); // append div for folded (closed) representation $(this).after(''); // extract the first line from the "open" section to represent closed content @@ -187,7 +180,7 @@ let codefold = { $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); } // replace minus with plus symbol - $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]); + $(line).find('span[class=fold]').addClass('plus').removeClass('minus'); // append ellipsis $(line).append(' '+start+''+end); // insert constructed line into closed div diff --git a/docs/MQTTClient/html/files.html b/docs/MQTTClient/html/files.html index ae242f22..7af85de3 100644 --- a/docs/MQTTClient/html/files.html +++ b/docs/MQTTClient/html/files.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: File List - - @@ -34,35 +32,24 @@
    - +
    -
    Here is a list of all files with brief descriptions:
    - - - - - + + + + +
     MQTTClient.h
     MQTTClientPersistence.hThis structure represents a persistent data store, used to store outbound and inbound messages, in order to achieve reliable messaging
     MQTTProperties.h
     MQTTReasonCodes.h
     MQTTSubscribeOpts.h
     
    MQTTClient.h
     
    MQTTClientPersistence.h
    This structure represents a persistent data store, used to store outbound and inbound messages, in order to achieve reliable messaging
     
    MQTTProperties.h
     
    MQTTReasonCodes.h
     
    MQTTSubscribeOpts.h
    diff --git a/docs/MQTTClient/html/folderclosed.svg b/docs/MQTTClient/html/folderclosed.svg deleted file mode 100644 index b04bed2e..00000000 --- a/docs/MQTTClient/html/folderclosed.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/docs/MQTTClient/html/folderclosedd.svg b/docs/MQTTClient/html/folderclosedd.svg deleted file mode 100644 index 52f0166a..00000000 --- a/docs/MQTTClient/html/folderclosedd.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/docs/MQTTClient/html/folderopen.svg b/docs/MQTTClient/html/folderopen.svg deleted file mode 100644 index f6896dd2..00000000 --- a/docs/MQTTClient/html/folderopen.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - diff --git a/docs/MQTTClient/html/folderopend.svg b/docs/MQTTClient/html/folderopend.svg deleted file mode 100644 index 2d1f06e7..00000000 --- a/docs/MQTTClient/html/folderopend.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/docs/MQTTClient/html/functions.html b/docs/MQTTClient/html/functions.html index 9fd5feac..efef6650 100644 --- a/docs/MQTTClient/html/functions.html +++ b/docs/MQTTClient/html/functions.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Data Fields - - @@ -34,35 +32,24 @@ - +
    -
    Here is a list of all struct and union fields with links to the structures/unions they belong to:
    -

    - a -

    diff --git a/docs/MQTTClient/html/functions_vars.html b/docs/MQTTClient/html/functions_vars.html index 2b8014b5..d97dde06 100644 --- a/docs/MQTTClient/html/functions_vars.html +++ b/docs/MQTTClient/html/functions_vars.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Data Fields - Variables - - @@ -34,35 +32,24 @@ - +
    -
    Here is a list of all variables with links to the structures/unions they belong to:
    -

    - a -

    diff --git a/docs/MQTTClient/html/globals.html b/docs/MQTTClient/html/globals.html index bb2590ad..eb1115a9 100644 --- a/docs/MQTTClient/html/globals.html +++ b/docs/MQTTClient/html/globals.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
    -
    Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
    -

    - m -

    diff --git a/docs/MQTTClient/html/globals_defs.html b/docs/MQTTClient/html/globals_defs.html index 6db59dde..80a6fca5 100644 --- a/docs/MQTTClient/html/globals_defs.html +++ b/docs/MQTTClient/html/globals_defs.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
    -
    Here is a list of all macros with links to the files they belong to:
    -

    - m -

    diff --git a/docs/MQTTClient/html/globals_enum.html b/docs/MQTTClient/html/globals_enum.html index 98d98584..205b814c 100644 --- a/docs/MQTTClient/html/globals_enum.html +++ b/docs/MQTTClient/html/globals_enum.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
    -
    diff --git a/docs/MQTTClient/html/globals_eval.html b/docs/MQTTClient/html/globals_eval.html index 13c9b5e4..69129f1f 100644 --- a/docs/MQTTClient/html/globals_eval.html +++ b/docs/MQTTClient/html/globals_eval.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@
    - +
    -
    Here is a list of all enum values with links to the files they belong to:
    -

    - m -

    diff --git a/docs/MQTTClient/html/globals_func.html b/docs/MQTTClient/html/globals_func.html index 12ef67be..4c217c4b 100644 --- a/docs/MQTTClient/html/globals_func.html +++ b/docs/MQTTClient/html/globals_func.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
    -
    Here is a list of all functions with links to the files they belong to:
    -

    - m -

    diff --git a/docs/MQTTClient/html/globals_p.html b/docs/MQTTClient/html/globals_p.html index 27fd4365..f6a36c0d 100644 --- a/docs/MQTTClient/html/globals_p.html +++ b/docs/MQTTClient/html/globals_p.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
    -
    Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
    -

    - p -

    diff --git a/docs/MQTTClient/html/globals_type.html b/docs/MQTTClient/html/globals_type.html index d8df0ace..be157297 100644 --- a/docs/MQTTClient/html/globals_type.html +++ b/docs/MQTTClient/html/globals_type.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Globals - - @@ -34,35 +32,24 @@ - +
    -
    diff --git a/docs/MQTTClient/html/index.html b/docs/MQTTClient/html/index.html index b5a15c71..cc211072 100644 --- a/docs/MQTTClient/html/index.html +++ b/docs/MQTTClient/html/index.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTT Client library for C (MQTTClient) - - @@ -34,35 +32,24 @@
    - +
    -

    An MQTT client library in C.

    © Copyright 2009, 2025 IBM Corp., Ian Craggs and others

    -

    Version 1.3.14

    +

    Version 1.3.15

    These pages describe the original more synchronous API which might be considered easier to use. Some of the calls will block. For the new totally asynchronous API where no calls block, which is especially suitable for use in windowed environments, see the MQTT C Client Asynchronous API Documentation. The MQTTClient API is not thread safe, whereas the MQTTAsync API is.

    An MQTT client application connects to MQTT-capable servers. A typical client is responsible for collecting information from a telemetry device and publishing the information to the server. It can also subscribe to topics, receive messages, and use this information to control the telemetry device.

    MQTT clients implement the published MQTT v3 protocol. You can write your own API to the MQTT protocol using the programming language and platform of your choice. This can be time-consuming and error-prone.

    @@ -145,7 +132,7 @@ Free any memory being used by the client
    diff --git a/docs/MQTTClient/html/menu.js b/docs/MQTTClient/html/menu.js index 0fd1e990..15f9c522 100644 --- a/docs/MQTTClient/html/menu.js +++ b/docs/MQTTClient/html/menu.js @@ -49,7 +49,7 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search,treeview) { searchBoxHtml='
    '+ '
    '+ ' '+ + '" method="get">'+ ''+ @@ -60,8 +60,8 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search,treeview) { } else { searchBoxHtml='
    '+ ''+ - ' '+ + ''+ ''+ ''+ - ''+ + '
    '+ '
    '+ '
    '; } @@ -84,9 +83,7 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search,treeview) { '
    '); $('#main-nav').append(makeTree(menudata,relPath)); $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); - if (searchBoxHtml) { - $('#main-menu').append('
  • '); - } + $('#main-menu').append('
  • '); const $mainMenuState = $('#main-menu-state'); let prevWidth = 0; if ($mainMenuState.length) { diff --git a/docs/MQTTClient/html/minus.svg b/docs/MQTTClient/html/minus.svg deleted file mode 100644 index f70d0c1a..00000000 --- a/docs/MQTTClient/html/minus.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/MQTTClient/html/minusd.svg b/docs/MQTTClient/html/minusd.svg deleted file mode 100644 index 5f8e8796..00000000 --- a/docs/MQTTClient/html/minusd.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/MQTTClient/html/nav_f.png b/docs/MQTTClient/html/nav_f.png deleted file mode 100644 index 72a58a52..00000000 Binary files a/docs/MQTTClient/html/nav_f.png and /dev/null differ diff --git a/docs/MQTTClient/html/nav_fd.png b/docs/MQTTClient/html/nav_fd.png deleted file mode 100644 index 032fbdd4..00000000 Binary files a/docs/MQTTClient/html/nav_fd.png and /dev/null differ diff --git a/docs/MQTTClient/html/nav_g.png b/docs/MQTTClient/html/nav_g.png deleted file mode 100644 index 2093a237..00000000 Binary files a/docs/MQTTClient/html/nav_g.png and /dev/null differ diff --git a/docs/MQTTClient/html/nav_h.png b/docs/MQTTClient/html/nav_h.png deleted file mode 100644 index 33389b10..00000000 Binary files a/docs/MQTTClient/html/nav_h.png and /dev/null differ diff --git a/docs/MQTTClient/html/nav_hd.png b/docs/MQTTClient/html/nav_hd.png deleted file mode 100644 index de80f18a..00000000 Binary files a/docs/MQTTClient/html/nav_hd.png and /dev/null differ diff --git a/docs/MQTTClient/html/navtree.css b/docs/MQTTClient/html/navtree.css index 69211d4a..0ea3a07a 100644 --- a/docs/MQTTClient/html/navtree.css +++ b/docs/MQTTClient/html/navtree.css @@ -11,8 +11,8 @@ #nav-tree li { white-space:nowrap; - margin:0px; - padding:0px; + margin:0; + padding:0; } #nav-tree .plus { @@ -20,15 +20,10 @@ } #nav-tree .selected { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: var(--nav-text-active-color); - text-shadow: var(--nav-text-active-shadow); -} - -#nav-tree .selected .arrow { - color: var(--nav-arrow-selected-color); - text-shadow: none; + position: relative; + background-color: var(--nav-menu-active-bg); + border-radius: 0 6px 6px 0; + /*margin-right: 5px;*/ } #nav-tree img { @@ -48,6 +43,7 @@ margin:0px; padding:0px; font: 12px var(--font-family-nav); + line-height: 22px; } #nav-tree .label a { @@ -56,7 +52,7 @@ #nav-tree .selected a { text-decoration:none; - color:var(--nav-text-active-color); + color:var(--page-link-color); } #nav-tree .children_ul { @@ -65,8 +61,9 @@ } #nav-tree .item { - margin:0px; - padding:0px; + margin: 0 6px 0 -5px; + padding: 0 0 0 5px; + height: 22px; } #nav-tree { @@ -89,7 +86,6 @@ display:block; position: absolute; left: 0px; - width: $width; overflow : hidden; } @@ -98,15 +94,31 @@ } .ui-resizable-e { - background-image:var(--nav-splitbar-image); - background-size:100%; - background-repeat:repeat-y; - background-attachment: scroll; - cursor:ew-resize; + transition: opacity 0.5s ease; + background-color: var(--nav-splitbar-bg-color); + opacity:0; + cursor:col-resize; height:100%; right:0; top:0; width:6px; + position: relative; +} + +.ui-resizable-e:after { + content: ''; + display: block; + top: 50%; + left: 1px; + width: 2px; + height: 15px; + border-left: 1px solid var(--nav-splitbar-handle-color); + border-right: 1px solid var(--nav-splitbar-handle-color); + position: absolute; +} + +.ui-resizable-e:hover { + opacity: 1; } .ui-resizable-handle { @@ -121,24 +133,97 @@ } #nav-tree { - background-repeat:repeat-x; background-color: var(--nav-background-color); -webkit-overflow-scrolling : touch; /* iOS 5+ */ + scrollbar-width: thin; + border-right: 1px solid var(--nav-border-color); + padding-left: 5px; } #nav-sync { position:absolute; - top:5px; - right:24px; - z-index:0; + top:0px; + right:0px; + z-index:1; } #nav-sync img { opacity:0.3; } -#nav-sync img:hover { - opacity:0.9; +div.nav-sync-icon { + position: relative; + width: 24px; + height: 17px; + left: -6px; + top: -1px; + opacity: 0.7; + display: inline-block; + background-color: var(--sync-icon-background-color); + border: 1px solid var(--sync-icon-border-color); + box-sizing: content-box; +} + +div.nav-sync-icon:hover { + background-color: var(--sync-icon-selected-background-color); + opacity: 1.0; +} + +div.nav-sync-icon.active:after { + content: ''; + background-color: var(--sync-icon-background-color); + border-top: 2px solid var(--sync-icon-color); + position: absolute; + width: 16px; + height: 0px; + top: 7px; + left: 4px; +} + +div.nav-sync-icon.active:hover:after { + border-top: 2px solid var(--sync-icon-selected-color); +} + +span.sync-icon-left { + position: absolute; + padding: 0; + margin: 0; + top: 3px; + left: 4px; + display: inline-block; + width: 8px; + height: 8px; + border-left: 2px solid var(--sync-icon-color); + border-top: 2px solid var(--sync-icon-color); + transform: rotate(-45deg); +} + +span.sync-icon-right { + position: absolute; + padding: 0; + margin: 0; + top: 3px; + left: 10px; + display: inline-block; + width: 8px; + height: 8px; + border-right: 2px solid var(--sync-icon-color); + border-bottom: 2px solid var(--sync-icon-color); + transform: rotate(-45deg); +} + +div.nav-sync-icon:hover span.sync-icon-left { + border-left: 2px solid var(--sync-icon-selected-color); + border-top: 2px solid var(--sync-icon-selected-color); +} + +div.nav-sync-icon:hover span.sync-icon-right { + border-right: 2px solid var(--sync-icon-selected-color); + border-bottom: 2px solid var(--sync-icon-selected-color); +} + +#nav-path ul { + border-top: 1px solid var(--nav-breadcrumb-separator-color); } @media print @@ -147,3 +232,96 @@ div.ui-resizable-handle { display: none; position: relative; } } +/*---------------------------*/ +#container { + display: grid; + grid-template-columns: auto auto; + overflow: hidden; +} + +#page-nav { + background: var(--nav-background-color); + display: block; + width: 250px; + box-sizing: content-box; + position: relative; + border-left: 1px solid var(--nav-border-color); +} + +#page-nav-tree { + display: inline-block; +} + +#page-nav-resize-handle { + transition: opacity 0.5s ease; + background-color: var(--nav-splitbar-bg-color); + opacity:0; + cursor:col-resize; + height:100%; + right:0; + top:0; + width:6px; + position: relative; + z-index: 1; + user-select: none; +} + +#page-nav-resize-handle:after { + content: ''; + display: block; + top: 50%; + left: 1px; + width: 2px; + height: 15px; + border-left: 1px solid var(--nav-splitbar-handle-color); + border-right: 1px solid var(--nav-splitbar-handle-color); + position: absolute; +} + +#page-nav-resize-handle.dragging, +#page-nav-resize-handle:hover { + opacity: 1; +} + +#page-nav-contents { + padding: 0; + margin: 0; + display: block; + top: 0; + left: 0; + height: 100%; + width: 100%; + position: absolute; + overflow: auto; + scrollbar-width: thin; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +ul.page-outline, +ul.page-outline ul { + text-indent: 0; + list-style: none outside none; + padding: 0 0 0 4px; +} + +ul.page-outline { + margin: 0 4px 4px 6px; +} + +ul.page-outline div.item { + font: 12px var(--font-family-nav); + line-height: 22px; +} + +ul.page-outline li { + white-space: nowrap; +} + +ul.page-outline li.vis { + background-color: var(--nav-breadcrumb-active-bg); +} + +#container.resizing { + cursor: col-resize; + user-select: none; +} diff --git a/docs/MQTTClient/html/open.png b/docs/MQTTClient/html/open.png deleted file mode 100644 index 30f75c7e..00000000 Binary files a/docs/MQTTClient/html/open.png and /dev/null differ diff --git a/docs/MQTTClient/html/pages.html b/docs/MQTTClient/html/pages.html index f1448f98..17f0ed36 100644 --- a/docs/MQTTClient/html/pages.html +++ b/docs/MQTTClient/html/pages.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Related Pages - - @@ -34,35 +32,24 @@
    - +
    -
    diff --git a/docs/MQTTClient/html/plus.svg b/docs/MQTTClient/html/plus.svg deleted file mode 100644 index 07520165..00000000 --- a/docs/MQTTClient/html/plus.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/MQTTClient/html/plusd.svg b/docs/MQTTClient/html/plusd.svg deleted file mode 100644 index 0c65bfe9..00000000 --- a/docs/MQTTClient/html/plusd.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/docs/MQTTClient/html/pubasync.html b/docs/MQTTClient/html/pubasync.html index fb5eec6e..a925e042 100644 --- a/docs/MQTTClient/html/pubasync.html +++ b/docs/MQTTClient/html/pubasync.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Asynchronous publication example - - @@ -34,33 +32,22 @@
    - + -
    -
    Asynchronous publication example
    +
    Asynchronous publication example
    #include <stdio.h>
    @@ -99,7 +86,7 @@ $(function(){ initResizable(false); });
    #include <windows.h>
    #endif
    -
    #define ADDRESS "tcp://mqtt.eclipseprojects.io:1883"
    +
    #define ADDRESS "tcp://test.mosquitto.org:1883"
    #define CLIENTID "ExampleClientPub"
    #define TOPIC "MQTT Examples"
    #define PAYLOAD "Hello World!"
    @@ -226,7 +213,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/pubsync.html b/docs/MQTTClient/html/pubsync.html index c2911746..e46b4bfa 100644 --- a/docs/MQTTClient/html/pubsync.html +++ b/docs/MQTTClient/html/pubsync.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Synchronous publication example - - @@ -34,33 +32,22 @@
    - + -
    -
    Synchronous publication example
    +
    Synchronous publication example
    #include <stdio.h>
    @@ -93,7 +80,7 @@ $(function(){ initResizable(false); });
    #include <string.h>
    #include "MQTTClient.h"
    -
    #define ADDRESS "tcp://mqtt.eclipseprojects.io:1883"
    +
    #define ADDRESS "tcp://test.mosquitto.org:1883"
    #define CLIENTID "ExampleClientPub"
    #define TOPIC "MQTT Examples"
    #define PAYLOAD "Hello World!"
    @@ -169,7 +156,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/qos.html b/docs/MQTTClient/html/qos.html index 5e0b06ea..7377cb2d 100644 --- a/docs/MQTTClient/html/qos.html +++ b/docs/MQTTClient/html/qos.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Quality of service - - @@ -34,33 +32,22 @@
    - + -
    -
    Quality of service
    +
    Quality of service

    The MQTT protocol provides three qualities of service for delivering messages between clients and servers: "at most once", "at least once" and "exactly once".

    @@ -100,7 +87,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/resize.js b/docs/MQTTClient/html/resize.js deleted file mode 100644 index 178d03bc..00000000 --- a/docs/MQTTClient/html/resize.js +++ /dev/null @@ -1,147 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ - -function initResizable(treeview) { - let sidenav,navtree,content,header,footer,barWidth=6; - const RESIZE_COOKIE_NAME = ''+'width'; - - function resizeWidth() { - const sidenavWidth = $(sidenav).outerWidth(); - content.css({marginLeft:parseInt(sidenavWidth)+"px"}); - if (typeof page_layout!=='undefined' && page_layout==1) { - footer.css({marginLeft:parseInt(sidenavWidth)+"px"}); - } - Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth); - } - - function restoreWidth(navWidth) { - content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); - if (typeof page_layout!=='undefined' && page_layout==1) { - footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); - } - sidenav.css({width:navWidth + "px"}); - } - - function resizeHeight(treeview) { - const headerHeight = header.outerHeight(); - const windowHeight = $(window).height(); - let contentHeight; - if (treeview) - { - const footerHeight = footer.outerHeight(); - let navtreeHeight,sideNavHeight; - if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */ - contentHeight = windowHeight - headerHeight - footerHeight; - navtreeHeight = contentHeight; - sideNavHeight = contentHeight; - } else if (page_layout==1) { /* DISABLE_INDEX=YES */ - contentHeight = windowHeight - footerHeight; - navtreeHeight = windowHeight - headerHeight; - sideNavHeight = windowHeight; - } - navtree.css({height:navtreeHeight + "px"}); - sidenav.css({height:sideNavHeight + "px"}); - } - else - { - contentHeight = windowHeight - headerHeight; - } - content.css({height:contentHeight + "px"}); - if (location.hash.slice(1)) { - (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView(); - } - } - - function collapseExpand() { - let newWidth; - if (sidenav.width()>0) { - newWidth=0; - } else { - const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); - newWidth = (width>250 && width<$(window).width()) ? width : 250; - } - restoreWidth(newWidth); - const sidenavWidth = $(sidenav).outerWidth(); - Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth); - } - - header = $("#top"); - content = $("#doc-content"); - footer = $("#nav-path"); - sidenav = $("#side-nav"); - if (!treeview) { -// title = $("#titlearea"); -// titleH = $(title).height(); -// let animating = false; -// content.on("scroll", function() { -// slideOpts = { duration: 200, -// step: function() { -// contentHeight = $(window).height() - header.outerHeight(); -// content.css({ height : contentHeight + "px" }); -// }, -// done: function() { animating=false; } -// }; -// if (content.scrollTop()>titleH && title.css('display')!='none' && !animating) { -// title.slideUp(slideOpts); -// animating=true; -// } else if (content.scrollTop()<=titleH && title.css('display')=='none' && !animating) { -// title.slideDown(slideOpts); -// animating=true; -// } -// }); - } else { - navtree = $("#nav-tree"); - $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); - $(sidenav).resizable({ minWidth: 0 }); - } - $(window).resize(function() { resizeHeight(treeview); }); - if (treeview) - { - const device = navigator.userAgent.toLowerCase(); - const touch_device = device.match(/(iphone|ipod|ipad|android)/); - if (touch_device) { /* wider split bar for touch only devices */ - $(sidenav).css({ paddingRight:'20px' }); - $('.ui-resizable-e').css({ width:'20px' }); - $('#nav-sync').css({ right:'34px' }); - barWidth=20; - } - const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250); - if (width) { restoreWidth(width); } else { resizeWidth(); } - } - resizeHeight(treeview); - const url = location.href; - const i=url.indexOf("#"); - if (i>=0) window.location.hash=url.substr(i); - const _preventDefault = function(evt) { evt.preventDefault(); }; - if (treeview) - { - $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); - $(".ui-resizable-handle").dblclick(collapseExpand); - // workaround for firefox - $("body").css({overflow: "hidden"}); - } - $(window).on('load',function() { resizeHeight(treeview); }); -} -/* @license-end */ diff --git a/docs/MQTTClient/html/search/all_1.js b/docs/MQTTClient/html/search/all_1.js index 0d687462..2089ad31 100644 --- a/docs/MQTTClient/html/search/all_1.js +++ b/docs/MQTTClient/html/search/all_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['binarypwd_0',['binarypwd',['../struct_m_q_t_t_client__connect_options.html#ae7280d284792990b5d8f6f29d4e0b113',1,'MQTTClient_connectOptions']]], + ['binarypwd_0',['binarypwd',['../struct_m_q_t_t_client__connect_options.html#afc43296dc22ad2bddf98727635d2c026',1,'MQTTClient_connectOptions']]], ['byte_1',['byte',['../struct_m_q_t_t_property.html#a1581cde4f73c9a797ae1e7afcc1bb3de',1,'MQTTProperty']]] ]; diff --git a/docs/MQTTClient/html/search/all_13.js b/docs/MQTTClient/html/search/all_13.js index f71db675..325a528a 100644 --- a/docs/MQTTClient/html/search/all_13.js +++ b/docs/MQTTClient/html/search/all_13.js @@ -1,6 +1,6 @@ var searchData= [ - ['value_0',['value',['../struct_m_q_t_t_client__name_value.html#a8556878012feffc9e0beb86cd78f424d',1,'MQTTClient_nameValue::value'],['../struct_m_q_t_t_property.html#a09e85ff5ad73824d6c2edc1ce4283a17',1,'MQTTProperty::value'],['../struct_m_q_t_t_property.html#a51e698f2da26ad8f7c9e3d0b81e188ad',1,'MQTTProperty::value']]], + ['value_0',['value',['../struct_m_q_t_t_client__name_value.html#a8556878012feffc9e0beb86cd78f424d',1,'MQTTClient_nameValue::value'],['../struct_m_q_t_t_property.html#a09e85ff5ad73824d6c2edc1ce4283a17',1,'MQTTProperty::value'],['../struct_m_q_t_t_property.html#a45c2b5a45dc4931afcc1d66c7e69699a',1,'MQTTProperty::value']]], ['verify_1',['verify',['../struct_m_q_t_t_client___s_s_l_options.html#a94900629685d5ed08f66fd2931f573ce',1,'MQTTClient_SSLOptions']]], ['version_2',['version',['../struct_m_q_t_t_response.html#aad880fc4455c253781e8968f2239d56f',1,'MQTTResponse']]], ['vs_20synchronous_20client_20applications_3',['Asynchronous vs synchronous client applications',['../async.html',1,'']]] diff --git a/docs/MQTTClient/html/search/all_d.js b/docs/MQTTClient/html/search/all_d.js index fd48a292..25f5e70f 100644 --- a/docs/MQTTClient/html/search/all_d.js +++ b/docs/MQTTClient/html/search/all_d.js @@ -1,7 +1,7 @@ var searchData= [ ['password_0',['password',['../struct_m_q_t_t_client__connect_options.html#aa4a2ebcb494493f648ae1e6975672575',1,'MQTTClient_connectOptions']]], - ['payload_1',['payload',['../struct_m_q_t_t_client__message.html#a9eff55064941fb604452abb0050ea99d',1,'MQTTClient_message::payload'],['../struct_m_q_t_t_client__will_options.html#a0e9356b973a918c25981982fe84e35d7',1,'MQTTClient_willOptions::payload']]], + ['payload_1',['payload',['../struct_m_q_t_t_client__message.html#a9eff55064941fb604452abb0050ea99d',1,'MQTTClient_message::payload'],['../struct_m_q_t_t_client__will_options.html#af2016b7ff552a5edb689a14817d52e8b',1,'MQTTClient_willOptions::payload']]], ['payloadlen_2',['payloadlen',['../struct_m_q_t_t_client__message.html#aa3cb44feb3ae6d11b3a4cad2d94cb33a',1,'MQTTClient_message']]], ['pclear_3',['pclear',['../struct_m_q_t_t_client__persistence.html#abc192dc88113c7d933b29d3561badbf5',1,'MQTTClient_persistence']]], ['pclose_4',['pclose',['../struct_m_q_t_t_client__persistence.html#a7e50506912d2ec0e014cc25ec28fb402',1,'MQTTClient_persistence']]], diff --git a/docs/MQTTClient/html/search/all_f.js b/docs/MQTTClient/html/search/all_f.js index 6459de05..679266f6 100644 --- a/docs/MQTTClient/html/search/all_f.js +++ b/docs/MQTTClient/html/search/all_f.js @@ -8,5 +8,5 @@ var searchData= ['retained_5',['retained',['../struct_m_q_t_t_client__message.html#a6a4904c112507a43e7dc8495b62cc0fc',1,'MQTTClient_message::retained'],['../struct_m_q_t_t_client__will_options.html#a6a4904c112507a43e7dc8495b62cc0fc',1,'MQTTClient_willOptions::retained']]], ['retainhandling_6',['retainHandling',['../struct_m_q_t_t_subscribe__options.html#a11f17b62e40ecdfe107101ae164367a3',1,'MQTTSubscribe_options']]], ['retryinterval_7',['retryInterval',['../struct_m_q_t_t_client__connect_options.html#ac73f57846c42bcaa9a47e6721a957748',1,'MQTTClient_connectOptions']]], - ['returned_8',['returned',['../struct_m_q_t_t_client__connect_options.html#afbca347de18f7a8c57de1f16d3dadde6',1,'MQTTClient_connectOptions']]] + ['returned_8',['returned',['../struct_m_q_t_t_client__connect_options.html#af6bb7e7563af3a48e33f3905b3fe310e',1,'MQTTClient_connectOptions']]] ]; diff --git a/docs/MQTTClient/html/search/close.svg b/docs/MQTTClient/html/search/close.svg deleted file mode 100644 index 337d6cc1..00000000 --- a/docs/MQTTClient/html/search/close.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - diff --git a/docs/MQTTClient/html/search/mag.svg b/docs/MQTTClient/html/search/mag.svg deleted file mode 100644 index ffb6cf0d..00000000 --- a/docs/MQTTClient/html/search/mag.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/docs/MQTTClient/html/search/mag_d.svg b/docs/MQTTClient/html/search/mag_d.svg deleted file mode 100644 index 4122773f..00000000 --- a/docs/MQTTClient/html/search/mag_d.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/docs/MQTTClient/html/search/mag_sel.svg b/docs/MQTTClient/html/search/mag_sel.svg deleted file mode 100644 index 553dba87..00000000 --- a/docs/MQTTClient/html/search/mag_sel.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/docs/MQTTClient/html/search/mag_seld.svg b/docs/MQTTClient/html/search/mag_seld.svg deleted file mode 100644 index c906f84c..00000000 --- a/docs/MQTTClient/html/search/mag_seld.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/docs/MQTTClient/html/search/search.css b/docs/MQTTClient/html/search/search.css index 19f76f9d..956f31f9 100644 --- a/docs/MQTTClient/html/search/search.css +++ b/docs/MQTTClient/html/search/search.css @@ -5,8 +5,8 @@ display: flex; justify-content: center; align-items: center; - height: 36px; - margin-right: 1em; + height: 43px; + margin-right: 0; } /*---------------- Search box styling */ @@ -27,43 +27,23 @@ dark-mode-toggle { white-space : nowrap; background: var(--search-background-color); border-radius: 0.65em; - box-shadow: var(--search-box-shadow); + border: 1px solid var(--search-box-border-color); z-index: 102; + margin-right: 4px; } #MSearchBox .left { display: inline-block; vertical-align: middle; - height: 1.4em; + height: 1.6em; } -#MSearchSelect { - display: inline-block; - vertical-align: middle; - width: 20px; - height: 19px; - background-image: var(--search-magnification-select-image); - margin: 0 0 0 0.3em; - padding: 0; -} - -#MSearchSelectExt { - display: inline-block; - vertical-align: middle; - width: 10px; - height: 19px; - background-image: var(--search-magnification-image); - margin: 0 0 0 0.5em; - padding: 0; -} - - #MSearchField { display: inline-block; - vertical-align: middle; + vertical-align: top; width: 7.5em; - height: 19px; - margin: 0 0.15em; + height: 22px; + margin: 0 0 0 0.15em; padding: 0; line-height: 1em; border:none; @@ -86,7 +66,7 @@ dark-mode-toggle { display: inline-block; vertical-align: middle; width: 1.4em; - height: 1.4em; + height: 1.6em; } #MSearchClose { @@ -101,14 +81,100 @@ dark-mode-toggle { } #MSearchCloseImg { - padding: 0.3em; - margin: 0; + margin: 6px 0 0 4px; } +.close-icon { + width: 11px; + height: 11px; + background-color: var(--search-close-icon-bg-color); + border-radius: 50%; + position: relative; + display: flex; + justify-content: center; + align-items: center; + box-sizing: content-box; +} + +.close-icon:before, +.close-icon:after { + content: ''; + position: absolute; + width: 7px; + height: 1px; + background-color: var(--search-close-icon-fg-color); +} + +.close-icon:before { + transform: rotate(45deg); +} + +.close-icon:after { + transform: rotate(-45deg); +} + + .MSearchBoxActive #MSearchField { color: var(--search-active-color); } +.search-icon { + width: 20px; + height: 20px; + display: inline-block; + position: relative; + margin-left: 3px; +} + +#MSearchSelectExt.search-icon { + width: 10px; +} + +#MSearchSelectExt + input { + margin-left: 5px; +} + +.search-icon::before, .search-icon::after { + content: ''; + position: absolute; + border: 1.5px solid var(--search-foreground-color); + box-sizing: content-box; +} + +.search-icon::before { + width: 6px; + height: 6px; + border-radius: 50%; + top: 7px; + left: 2px; + background: var(--search-background-color); +} + +.search-icon::after { + border: 1px solid var(--search-foreground-color); + width: 0px; + height: 3px; + border-radius: 2px; + top: 15px; + left: 8px; + transform: rotate(-45deg); + transform-origin: top left; +} + +.search-icon-dropdown { + content: ''; + width: 0; + height: 0; + border-left: 3px solid transparent; + border-right: 3px solid transparent; + border-top: 3px solid var(--search-foreground-color); + top: 8px; + left: 15px; + transform: translateX(-50%); + position: absolute; +} + + /*---------------- Search filter selection */ @@ -119,15 +185,12 @@ dark-mode-toggle { left: 0; top: 0; border: 1px solid var(--search-filter-border-color); background-color: var(--search-filter-background-color); + backdrop-filter: var(--search-filter-backdrop-filter); + -webkit-backdrop-filter: var(--search-filter-backdrop-filter); z-index: 10001; padding-top: 4px; padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-radius: 4px; } .SelectItem { @@ -176,18 +239,39 @@ iframe#MSearchResults { height: 15em; } +@keyframes slideInSearchResults { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } +} + #MSearchResultsWindow { display: none; position: absolute; - left: 0; top: 0; + left: auto; + right: 4px; + top: 0; border: 1px solid var(--search-results-border-color); background-color: var(--search-results-background-color); + backdrop-filter: var(--search-results-backdrop-filter); + -webkit-backdrop-filter: var(--search-results-backdrop-filter); z-index:10000; width: 300px; height: 400px; overflow: auto; + border-radius: 8px; + transform: translate(0, 20px); + animation: ease-out 280ms slideInSearchResults; + box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); } + /* ----------------------------------- */ @@ -201,13 +285,13 @@ iframe#MSearchResults { } .SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; + font-size: 10pt; + padding: 2px 5px; } div.SRPage { margin: 5px 2px; - background-color: var(--search-results-background-color); + /*background-color: var(--search-results-background-color);*/ } .SRChildren { @@ -261,14 +345,17 @@ div.searchresults { margin-right: 10px; } +#searchBoxPos1 dark-mode-toggle { + margin-top: 4px; +} + /*---------------- External search page results */ .pages b { - color: white; + color: var(--nav-foreground-color); padding: 5px 5px 3px 5px; - background-image: var(--nav-gradient-active-image-parent); - background-repeat: repeat-x; - text-shadow: 0 1px 1px #000000; + background-color: var(--nav-menu-active-bg); + border-radius: 4px; } .pages { diff --git a/docs/MQTTClient/html/search/search.js b/docs/MQTTClient/html/search/search.js index 666af01e..dc14410f 100644 --- a/docs/MQTTClient/html/search/search.js +++ b/docs/MQTTClient/html/search/search.js @@ -607,6 +607,12 @@ function createResults(resultsPath) { elem.setAttribute('className',attr); } + const decodeHtml = (html) => { + const txt = document.createElement("textarea"); + txt.innerHTML = html; + return txt.value; + }; + const results = document.getElementById("SRResults"); results.innerHTML = ''; searchData.forEach((elem,index) => { @@ -620,10 +626,14 @@ function createResults(resultsPath) { srLink.setAttribute('id','Item'+index); setKeyActions(srLink,'return searchResults.Nav(event,'+index+')'); setClassAttr(srLink,'SRSymbol'); - srLink.innerHTML = elem[1][0]; + srLink.innerHTML = decodeHtml(elem[1][0]); srEntry.appendChild(srLink); if (elem[1].length==2) { // single result - srLink.setAttribute('href',resultsPath+elem[1][1][0]); + if (elem[1][1][0].startsWith('http://') || elem[1][1][0].startsWith('https://')) { // absolute path + srLink.setAttribute('href',elem[1][1][0]); + } else { // relative path + srLink.setAttribute('href',resultsPath+elem[1][1][0]); + } srLink.setAttribute('onclick','searchBox.CloseResultsWindow()'); if (elem[1][1][1]) { srLink.setAttribute('target','_parent'); @@ -632,7 +642,7 @@ function createResults(resultsPath) { } const srScope = document.createElement('span'); setClassAttr(srScope,'SRScope'); - srScope.innerHTML = elem[1][1][2]; + srScope.innerHTML = decodeHtml(elem[1][1][2]); srEntry.appendChild(srScope); } else { // multiple results srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); @@ -643,14 +653,18 @@ function createResults(resultsPath) { srChild.setAttribute('id','Item'+index+'_c'+c); setKeyActions(srChild,'return searchResults.NavChild(event,'+index+','+c+')'); setClassAttr(srChild,'SRScope'); - srChild.setAttribute('href',resultsPath+elem[1][c+1][0]); + if (elem[1][c+1][0].startsWith('http://') || elem[1][c+1][0].startsWith('https://')) { // absolute path + srChild.setAttribute('href',elem[1][c+1][0]); + } else { // relative path + srChild.setAttribute('href',resultsPath+elem[1][c+1][0]); + } srChild.setAttribute('onclick','searchBox.CloseResultsWindow()'); if (elem[1][c+1][1]) { srChild.setAttribute('target','_parent'); } else { srChild.setAttribute('target','_blank'); } - srChild.innerHTML = elem[1][c+1][2]; + srChild.innerHTML = decodeHtml(elem[1][c+1][2]); srChildren.appendChild(srChild); } srEntry.appendChild(srChildren); diff --git a/docs/MQTTClient/html/search/variables_1.js b/docs/MQTTClient/html/search/variables_1.js index 0d687462..2089ad31 100644 --- a/docs/MQTTClient/html/search/variables_1.js +++ b/docs/MQTTClient/html/search/variables_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['binarypwd_0',['binarypwd',['../struct_m_q_t_t_client__connect_options.html#ae7280d284792990b5d8f6f29d4e0b113',1,'MQTTClient_connectOptions']]], + ['binarypwd_0',['binarypwd',['../struct_m_q_t_t_client__connect_options.html#afc43296dc22ad2bddf98727635d2c026',1,'MQTTClient_connectOptions']]], ['byte_1',['byte',['../struct_m_q_t_t_property.html#a1581cde4f73c9a797ae1e7afcc1bb3de',1,'MQTTProperty']]] ]; diff --git a/docs/MQTTClient/html/search/variables_11.js b/docs/MQTTClient/html/search/variables_11.js index 13f8cfe2..2be67c91 100644 --- a/docs/MQTTClient/html/search/variables_11.js +++ b/docs/MQTTClient/html/search/variables_11.js @@ -1,6 +1,6 @@ var searchData= [ - ['value_0',['value',['../struct_m_q_t_t_client__name_value.html#a8556878012feffc9e0beb86cd78f424d',1,'MQTTClient_nameValue::value'],['../struct_m_q_t_t_property.html#a09e85ff5ad73824d6c2edc1ce4283a17',1,'MQTTProperty::value'],['../struct_m_q_t_t_property.html#a51e698f2da26ad8f7c9e3d0b81e188ad',1,'MQTTProperty::value']]], + ['value_0',['value',['../struct_m_q_t_t_client__name_value.html#a8556878012feffc9e0beb86cd78f424d',1,'MQTTClient_nameValue::value'],['../struct_m_q_t_t_property.html#a09e85ff5ad73824d6c2edc1ce4283a17',1,'MQTTProperty::value'],['../struct_m_q_t_t_property.html#a45c2b5a45dc4931afcc1d66c7e69699a',1,'MQTTProperty::value']]], ['verify_1',['verify',['../struct_m_q_t_t_client___s_s_l_options.html#a94900629685d5ed08f66fd2931f573ce',1,'MQTTClient_SSLOptions']]], ['version_2',['version',['../struct_m_q_t_t_response.html#aad880fc4455c253781e8968f2239d56f',1,'MQTTResponse']]] ]; diff --git a/docs/MQTTClient/html/search/variables_b.js b/docs/MQTTClient/html/search/variables_b.js index 1b6aabc9..5248deff 100644 --- a/docs/MQTTClient/html/search/variables_b.js +++ b/docs/MQTTClient/html/search/variables_b.js @@ -1,7 +1,7 @@ var searchData= [ ['password_0',['password',['../struct_m_q_t_t_client__connect_options.html#aa4a2ebcb494493f648ae1e6975672575',1,'MQTTClient_connectOptions']]], - ['payload_1',['payload',['../struct_m_q_t_t_client__message.html#a9eff55064941fb604452abb0050ea99d',1,'MQTTClient_message::payload'],['../struct_m_q_t_t_client__will_options.html#a0e9356b973a918c25981982fe84e35d7',1,'MQTTClient_willOptions::payload']]], + ['payload_1',['payload',['../struct_m_q_t_t_client__message.html#a9eff55064941fb604452abb0050ea99d',1,'MQTTClient_message::payload'],['../struct_m_q_t_t_client__will_options.html#af2016b7ff552a5edb689a14817d52e8b',1,'MQTTClient_willOptions::payload']]], ['payloadlen_2',['payloadlen',['../struct_m_q_t_t_client__message.html#aa3cb44feb3ae6d11b3a4cad2d94cb33a',1,'MQTTClient_message']]], ['pclear_3',['pclear',['../struct_m_q_t_t_client__persistence.html#abc192dc88113c7d933b29d3561badbf5',1,'MQTTClient_persistence']]], ['pclose_4',['pclose',['../struct_m_q_t_t_client__persistence.html#a7e50506912d2ec0e014cc25ec28fb402',1,'MQTTClient_persistence']]], diff --git a/docs/MQTTClient/html/search/variables_d.js b/docs/MQTTClient/html/search/variables_d.js index 6459de05..679266f6 100644 --- a/docs/MQTTClient/html/search/variables_d.js +++ b/docs/MQTTClient/html/search/variables_d.js @@ -8,5 +8,5 @@ var searchData= ['retained_5',['retained',['../struct_m_q_t_t_client__message.html#a6a4904c112507a43e7dc8495b62cc0fc',1,'MQTTClient_message::retained'],['../struct_m_q_t_t_client__will_options.html#a6a4904c112507a43e7dc8495b62cc0fc',1,'MQTTClient_willOptions::retained']]], ['retainhandling_6',['retainHandling',['../struct_m_q_t_t_subscribe__options.html#a11f17b62e40ecdfe107101ae164367a3',1,'MQTTSubscribe_options']]], ['retryinterval_7',['retryInterval',['../struct_m_q_t_t_client__connect_options.html#ac73f57846c42bcaa9a47e6721a957748',1,'MQTTClient_connectOptions']]], - ['returned_8',['returned',['../struct_m_q_t_t_client__connect_options.html#afbca347de18f7a8c57de1f16d3dadde6',1,'MQTTClient_connectOptions']]] + ['returned_8',['returned',['../struct_m_q_t_t_client__connect_options.html#af6bb7e7563af3a48e33f3905b3fe310e',1,'MQTTClient_connectOptions']]] ]; diff --git a/docs/MQTTClient/html/splitbar.png b/docs/MQTTClient/html/splitbar.png deleted file mode 100644 index fe895f2c..00000000 Binary files a/docs/MQTTClient/html/splitbar.png and /dev/null differ diff --git a/docs/MQTTClient/html/splitbard.png b/docs/MQTTClient/html/splitbard.png deleted file mode 100644 index 8367416d..00000000 Binary files a/docs/MQTTClient/html/splitbard.png and /dev/null differ diff --git a/docs/MQTTClient/html/struct_m_q_t_t_client___s_s_l_options.html b/docs/MQTTClient/html/struct_m_q_t_t_client___s_s_l_options.html index 7224ba83..a12c9efb 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_client___s_s_l_options.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_client___s_s_l_options.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClient_SSLOptions Struct Reference - - @@ -34,33 +32,22 @@
    - + -
    #include <MQTTClient.h>

    - - - - - - - - - - - - - - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    const char * trustStore
     
    const char * keyStore
     
    const char * privateKey
     
    const char * privateKeyPassword
     
    const char * enabledCipherSuites
     
    int enableServerCertAuth
     
    int sslVersion
     
    int verify
     
    const char * CApath
     
    int(* ssl_error_cb )(const char *str, size_t len, void *u)
     
    void * ssl_error_context
     
    unsigned int(* ssl_psk_cb )(const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len, void *u)
     
    void * ssl_psk_context
     
    int disableDefaultTrustStore
     
    const unsigned char * protos
     
    unsigned int protos_len
     
    -

    Detailed Description

    +

    Detailed Description

    MQTTClient_sslProperties defines the settings to establish an SSL/TLS connection using the OpenSSL library. It covers the following scenarios:

    • Server authentication: The client needs the digital certificate of the server. It is included in a store containting trusted material (also known as "trust store").
    • Mutual authentication: Both client and server are authenticated during the SSL handshake. In addition to the digital certificate of the server in a trust store, the client will need its own digital certificate and the private key used to sign its digital certificate stored in a "key store".
    • Anonymous connection: Both client and server do not get authenticated and no credentials are needed to establish an SSL connection. Note that this scenario is not fully secure since it is subject to man-in-the-middle attacks.
    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -415,7 +384,7 @@ Data Fields
    diff --git a/docs/MQTTClient/html/struct_m_q_t_t_client__connect_options.html b/docs/MQTTClient/html/struct_m_q_t_t_client__connect_options.html index 280c9211..5012169c 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_client__connect_options.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_client__connect_options.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClient_connectOptions Struct Reference - - @@ -34,33 +32,22 @@
    - + -
    #include <MQTTClient.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    int keepAliveInterval
     
    int cleansession
     
    int reliable
     
    MQTTClient_willOptionswill
     
    const char * username
     
    const char * password
     
    int connectTimeout
     
    int retryInterval
     
    MQTTClient_SSLOptionsssl
     
    int serverURIcount
     
    char *const * serverURIs
     
    int MQTTVersion
     
    struct { 
     
       const char *   serverURI 
     
       int   MQTTVersion 
     
       int   sessionPresent 
     
    returned 
     
    struct { 
     
       int   len 
     
       const void *   data 
     
    binarypwd 
     
    struct { 
       const char *   serverURI 
       int   MQTTVersion 
       int   sessionPresent 
    returned
    struct { 
       int   len 
       const void *   data 
    binarypwd
    int maxInflightMessages
     
    int cleanstart
     
    const MQTTClient_nameValuehttpHeaders
     
    const char * httpProxy
     
    const char * httpsProxy
     
    -

    Detailed Description

    +

    Detailed Description

    MQTTClient_connectOptions defines several settings that control the way the client connects to an MQTT server.

    Note: Default values are not defined for members of MQTTClient_connectOptions so it is good practice to specify all settings. If the MQTTClient_connectOptions structure is defined as an automatic variable, all members are set to random values and thus must be set by the client application. If the MQTTClient_connectOptions structure is defined as a static variable, initialization (in compliant compilers) sets all values to 0 (NULL for pointers). A keepAliveInterval setting of 0 prevents correct operation of the client and so you must at least set a value for keepAliveInterval.

    Suitable default values are set in the following initializers:

      @@ -161,7 +120,7 @@ Data Fields
    • MQTTClient_connectOptions_initializer_ws: for MQTT 3.1.1 WebSockets
    • MQTTClient_connectOptions_initializer5_ws: for MQTT 5.0 WebSockets
    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -404,8 +363,8 @@ Data Fields
    - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -449,8 +408,8 @@ Data Fields
    - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -547,7 +506,7 @@ Data Fields
    diff --git a/docs/MQTTClient/html/struct_m_q_t_t_client__create_options.html b/docs/MQTTClient/html/struct_m_q_t_t_client__create_options.html index 98240112..986165b8 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_client__create_options.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_client__create_options.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClient_createOptions Struct Reference - - @@ -34,33 +32,22 @@
    - + -
    #include <MQTTClient.h>

    - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    int MQTTVersion
     
    -

    Detailed Description

    +

    Detailed Description

    Options for the MQTTClient_createWithOptions call

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -146,8 +130,7 @@ Data Fields
    -

    Whether the MQTT version is 3.1, 3.1.1, or 5. To use V5, this must be set. MQTT V5 has to be chosen here, because during the create call the message persistence is initialized, and we want to know whether the format of any persisted messages is appropriate for the MQTT version we are going to connect with. Selecting 3.1 or 3.1.1 and attempting to read 5.0 persisted messages will result in an error on create.
    -

    +

    Whether the MQTT version is 3.1, 3.1.1, or 5. To use V5, this must be set. MQTT V5 has to be chosen here, because during the create call the message persistence is initialized, and we want to know whether the format of any persisted messages is appropriate for the MQTT version we are going to connect with. Selecting 3.1 or 3.1.1 and attempting to read 5.0 persisted messages will result in an error on create.

    @@ -157,7 +140,7 @@ Data Fields diff --git a/docs/MQTTClient/html/struct_m_q_t_t_client__init__options.html b/docs/MQTTClient/html/struct_m_q_t_t_client__init__options.html index 9c938143..26cc0d30 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_client__init__options.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_client__init__options.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClient_init_options Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTClient.h>

    - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    int do_openssl_init
     
    -

    Detailed Description

    +

    Detailed Description

    Initialization options

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -156,7 +140,7 @@ Data Fields diff --git a/docs/MQTTClient/html/struct_m_q_t_t_client__message.html b/docs/MQTTClient/html/struct_m_q_t_t_client__message.html index b44fb5a7..3c42c331 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_client__message.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_client__message.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClient_message Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTClient.h>

    - - - - - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    int payloadlen
     
    void * payload
     
    int qos
     
    int retained
     
    int dup
     
    int msgid
     
    MQTTProperties properties
     
    -

    Detailed Description

    +

    Detailed Description

    A structure representing the payload and attributes of an MQTT message. The message topic is not part of this structure (see MQTTClient_publishMessage(), MQTTClient_publish(), MQTTClient_receive(), MQTTClient_freeMessage() and MQTTClient_messageArrived()).

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -269,7 +247,7 @@ Data Fields diff --git a/docs/MQTTClient/html/struct_m_q_t_t_client__name_value.html b/docs/MQTTClient/html/struct_m_q_t_t_client__name_value.html index b31b81f3..2f611e19 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_client__name_value.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_client__name_value.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClient_nameValue Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTClient.h>

    - - -

    +

    Data Fields

    const char * name
     
    const char * value
     
    -

    Detailed Description

    +

    Detailed Description

    MQTTClient_libraryInfo is used to store details relating to the currently used library such as the version in use, the time it was built and relevant openSSL options. There is one static instance of this struct in MQTTClient.c

    -

    Field Documentation

    +

    Field Documentation

    ◆ name

    @@ -137,7 +122,7 @@ Data Fields diff --git a/docs/MQTTClient/html/struct_m_q_t_t_client__persistence.html b/docs/MQTTClient/html/struct_m_q_t_t_client__persistence.html index ff976b6f..553a59ff 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_client__persistence.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_client__persistence.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClient_persistence Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTClientPersistence.h>

    - - - - - - - - - -

    +

    Data Fields

    void * context
     
    Persistence_open popen
     
    Persistence_close pclose
     
    Persistence_put pput
     
    Persistence_get pget
     
    Persistence_remove premove
     
    Persistence_keys pkeys
     
    Persistence_clear pclear
     
    Persistence_containskey pcontainskey
     
    -

    Detailed Description

    +

    Detailed Description

    A structure containing the function pointers to a persistence implementation and the context or state that will be shared across all the persistence functions.

    -

    Field Documentation

    +

    Field Documentation

    ◆ context

    @@ -261,7 +239,7 @@ Data Fields diff --git a/docs/MQTTClient/html/struct_m_q_t_t_client__will_options.html b/docs/MQTTClient/html/struct_m_q_t_t_client__will_options.html index 82c1795a..afb060fe 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_client__will_options.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_client__will_options.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTClient_willOptions Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTClient.h>

    - - - - - - - - - - - - - - - + + + +

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    const char * topicName
     
    const char * message
     
    int retained
     
    int qos
     
    struct { 
     
       int   len 
     
       const void *   data 
     
    payload 
     
    struct { 
       int   len 
       const void *   data 
    payload
    -

    Detailed Description

    +

    Detailed Description

    MQTTClient_willOptions defines the MQTT "Last Will and Testament" (LWT) settings for the client. In the event that a client unexpectedly loses its connection to the server, the server publishes the LWT message to the LWT topic on behalf of the client. This allows other clients (subscribed to the LWT topic) to be made aware that the client has disconnected. To enable the LWT function for a specific client, a valid pointer to an MQTTClient_willOptions structure is passed in the MQTTClient_connectOptions structure used in the MQTTClient_connect() call that connects the client to the server. The pointer to MQTTClient_willOptions can be set to NULL if the LWT function is not required.

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -239,8 +216,8 @@ Data Fields - -

    ◆ [struct]

    + +

    ◆ [struct]

    @@ -260,7 +237,7 @@ Data Fields
    diff --git a/docs/MQTTClient/html/struct_m_q_t_t_len_string.html b/docs/MQTTClient/html/struct_m_q_t_t_len_string.html index eb8b5238..a95d9059 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_len_string.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_len_string.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTLenString Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTProperties.h>

    - - -

    +

    Data Fields

    int len
     
    char * data
     
    -

    Detailed Description

    +

    Detailed Description

    The data for a length delimited string

    -

    Field Documentation

    +

    Field Documentation

    ◆ len

    @@ -139,7 +124,7 @@ Data Fields diff --git a/docs/MQTTClient/html/struct_m_q_t_t_properties.html b/docs/MQTTClient/html/struct_m_q_t_t_properties.html index e5b90313..24aef7b4 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_properties.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_properties.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTProperties Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTProperties.h>

    - - - - -

    +

    Data Fields

    int count
     
    int max_count
     
    int length
     
    MQTTPropertyarray
     
    -

    Detailed Description

    +

    Detailed Description

    MQTT version 5 property list

    -

    Field Documentation

    +

    Field Documentation

    ◆ count

    @@ -173,7 +156,7 @@ Data Fields diff --git a/docs/MQTTClient/html/struct_m_q_t_t_property.html b/docs/MQTTClient/html/struct_m_q_t_t_property.html index cb907f07..652a264e 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_property.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_property.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTProperty Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTProperties.h>

    - - - - - - - - - - - - - - - - - - - - + + + + + + + + +

    +

    Data Fields

    enum MQTTPropertyCodes identifier
     
    union { 
     
       unsigned char   byte 
     
       unsigned short   integer2 
     
       unsigned int   integer4 
     
       struct { 
     
          MQTTLenString   data 
     
          MQTTLenString   value 
     
       }  
     
    value 
     
    union { 
       unsigned char   byte 
       unsigned short   integer2 
       unsigned int   integer4 
       struct { 
          MQTTLenString   data 
          MQTTLenString   value 
       } 
    value
    -

    Detailed Description

    +

    Detailed Description

    Structure to hold an MQTT version 5 property of any type

    -

    Field Documentation

    +

    Field Documentation

    ◆ identifier

    @@ -209,8 +186,8 @@ Data Fields - -

    ◆ [union] [2/2]

    + +

    ◆ [union] [2/2]

    @@ -230,7 +207,7 @@ Data Fields
    diff --git a/docs/MQTTClient/html/struct_m_q_t_t_response.html b/docs/MQTTClient/html/struct_m_q_t_t_response.html index 9b43c726..ef372065 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_response.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_response.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTResponse Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTClient.h>

    - - - - - -

    +

    Data Fields

    int version
     
    enum MQTTReasonCodes reasonCode
     
    int reasonCodeCount
     
    enum MQTTReasonCodesreasonCodes
     
    MQTTPropertiesproperties
     
    -

    Detailed Description

    +

    Detailed Description

    MQTT version 5.0 response information

    -

    Field Documentation

    +

    Field Documentation

    ◆ version

    @@ -185,7 +167,7 @@ Data Fields diff --git a/docs/MQTTClient/html/struct_m_q_t_t_subscribe__options.html b/docs/MQTTClient/html/struct_m_q_t_t_subscribe__options.html index fdbd07ed..5e9301a1 100644 --- a/docs/MQTTClient/html/struct_m_q_t_t_subscribe__options.html +++ b/docs/MQTTClient/html/struct_m_q_t_t_subscribe__options.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: MQTTSubscribe_options Struct Reference - - @@ -34,33 +32,22 @@ - + -
    #include <MQTTSubscribeOpts.h>

    - - - - - -

    +

    Data Fields

    char struct_id [4]
     
    int struct_version
     
    unsigned char noLocal
     
    unsigned char retainAsPublished
     
    unsigned char retainHandling
     
    -

    Detailed Description

    +

    Detailed Description

    The MQTT V5 subscribe options, apart from QoS which existed before V5.

    -

    Field Documentation

    +

    Field Documentation

    ◆ struct_id

    @@ -190,7 +172,7 @@ Data Fields diff --git a/docs/MQTTClient/html/subasync.html b/docs/MQTTClient/html/subasync.html index f7544fb4..3e607eb4 100644 --- a/docs/MQTTClient/html/subasync.html +++ b/docs/MQTTClient/html/subasync.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Asynchronous subscription example - - @@ -34,33 +32,22 @@ - + -
    -
    Asynchronous subscription example
    +
    Asynchronous subscription example
    #include <stdio.h>
    @@ -93,7 +80,7 @@ $(function(){ initResizable(false); });
    #include <string.h>
    #include "MQTTClient.h"
    -
    #define ADDRESS "tcp://mqtt.eclipseprojects.io:1883"
    +
    #define ADDRESS "tcp://test.mosquitto.org:1883"
    #define CLIENTID "ExampleClientSub"
    #define TOPIC "MQTT Examples"
    #define PAYLOAD "Hello World!"
    @@ -211,7 +198,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/sync_off.png b/docs/MQTTClient/html/sync_off.png deleted file mode 100644 index 3b443fc6..00000000 Binary files a/docs/MQTTClient/html/sync_off.png and /dev/null differ diff --git a/docs/MQTTClient/html/sync_on.png b/docs/MQTTClient/html/sync_on.png deleted file mode 100644 index e08320fb..00000000 Binary files a/docs/MQTTClient/html/sync_on.png and /dev/null differ diff --git a/docs/MQTTClient/html/tab_a.png b/docs/MQTTClient/html/tab_a.png deleted file mode 100644 index 3b725c41..00000000 Binary files a/docs/MQTTClient/html/tab_a.png and /dev/null differ diff --git a/docs/MQTTClient/html/tab_ad.png b/docs/MQTTClient/html/tab_ad.png deleted file mode 100644 index e34850ac..00000000 Binary files a/docs/MQTTClient/html/tab_ad.png and /dev/null differ diff --git a/docs/MQTTClient/html/tab_b.png b/docs/MQTTClient/html/tab_b.png deleted file mode 100644 index e2b4a863..00000000 Binary files a/docs/MQTTClient/html/tab_b.png and /dev/null differ diff --git a/docs/MQTTClient/html/tab_bd.png b/docs/MQTTClient/html/tab_bd.png deleted file mode 100644 index 91c25249..00000000 Binary files a/docs/MQTTClient/html/tab_bd.png and /dev/null differ diff --git a/docs/MQTTClient/html/tab_h.png b/docs/MQTTClient/html/tab_h.png deleted file mode 100644 index fd5cb705..00000000 Binary files a/docs/MQTTClient/html/tab_h.png and /dev/null differ diff --git a/docs/MQTTClient/html/tab_hd.png b/docs/MQTTClient/html/tab_hd.png deleted file mode 100644 index 2489273d..00000000 Binary files a/docs/MQTTClient/html/tab_hd.png and /dev/null differ diff --git a/docs/MQTTClient/html/tab_s.png b/docs/MQTTClient/html/tab_s.png deleted file mode 100644 index ab478c95..00000000 Binary files a/docs/MQTTClient/html/tab_s.png and /dev/null differ diff --git a/docs/MQTTClient/html/tab_sd.png b/docs/MQTTClient/html/tab_sd.png deleted file mode 100644 index 757a565c..00000000 Binary files a/docs/MQTTClient/html/tab_sd.png and /dev/null differ diff --git a/docs/MQTTClient/html/tabs.css b/docs/MQTTClient/html/tabs.css index 7fa4268a..84f33ae7 100644 --- a/docs/MQTTClient/html/tabs.css +++ b/docs/MQTTClient/html/tabs.css @@ -1 +1 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-color:var(--nav-menu-background-color)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;line-height:36px;text-decoration:none;color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-color:var(--nav-menu-background-color);line-height:36px}.sm-dox a span.sub-arrow{top:15px;right:10px;box-sizing:content-box;padding:0;margin:0;display:inline-block;width:5px;height:5px;background-color:var(--nav-menu-background-color);border-right:2px solid var(--nav-arrow-color);border-bottom:2px solid var(--nav-arrow-color);transform:rotate(45deg);-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 6px}.sm-dox a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px !important}.sm-dox a:hover span.sub-arrow{background-color:var(--nav-menu-active-bg);border-right:2px solid var(--nav-arrow-selected-color);border-bottom:2px solid var(--nav-arrow-selected-color)}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0;padding:3px}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{transform:rotate(-45deg)}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-color:var(--nav-menu-active-bg);border-radius:5px}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:6px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:6px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} diff --git a/docs/MQTTClient/html/tracing.html b/docs/MQTTClient/html/tracing.html index a402a606..f638118e 100644 --- a/docs/MQTTClient/html/tracing.html +++ b/docs/MQTTClient/html/tracing.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Tracing - - @@ -34,33 +32,22 @@
    - + -
    -
    Tracing
    +
    Tracing

    Runtime tracing is controlled by environment variables.

    @@ -150,7 +137,7 @@ $(function(){ initResizable(false); });
    diff --git a/docs/MQTTClient/html/wildcard.html b/docs/MQTTClient/html/wildcard.html index 88a5ccbb..b3888b55 100644 --- a/docs/MQTTClient/html/wildcard.html +++ b/docs/MQTTClient/html/wildcard.html @@ -3,15 +3,13 @@ - + Paho MQTT C Client Library: Subscription wildcards - - @@ -34,33 +32,22 @@
    - + -
    -
    Subscription wildcards
    +
    Subscription wildcards

    Every MQTT message includes a topic that classifies it. MQTT servers use topics to determine which subscribers should receive messages published to the server.

    @@ -103,7 +90,7 @@ A '+' character represents a single level of the hierarchy and is used between d
    diff --git a/docs/MQTTClient/man/man3/MQTTClient.h.3 b/docs/MQTTClient/man/man3/MQTTClient.h.3 index 6e1cbaec..126e2d15 100644 --- a/docs/MQTTClient/man/man3/MQTTClient.h.3 +++ b/docs/MQTTClient/man/man3/MQTTClient.h.3 @@ -1,4 +1,4 @@ -.TH "MQTTClient.h" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClient.h" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -337,11 +337,11 @@ Return code: protocol prefix in serverURI should be: .IP "\(bu" 1 \fItcp://\fP or \fImqtt://\fP - Insecure TCP .IP "\(bu" 1 -\fIssl://\fP or \fImqtts://\fP - Encrypted SSL/TLS +\fIssl://\fP or \fItls://\fP or \fImqtts://\fP - Encrypted SSL/TLS .IP "\(bu" 1 \fIws://\fP - Insecure websockets .IP "\(bu" 1 -\fIwss://\fP - Secure web sockets The TLS enabled prefixes (ssl, mqtts, wss) are only valid if a TLS version of the library is linked with\&. +\fIwss://\fP - Secure web sockets The TLS enabled prefixes (ssl, tls, mqtts, wss) are only valid if a TLS version of the library is linked with\&. .PP .SS "#define MQTTCLIENT_BAD_MQTT_OPTION \-15" diff --git a/docs/MQTTClient/man/man3/MQTTClientPersistence.h.3 b/docs/MQTTClient/man/man3/MQTTClientPersistence.h.3 index acede242..b784a341 100644 --- a/docs/MQTTClient/man/man3/MQTTClientPersistence.h.3 +++ b/docs/MQTTClient/man/man3/MQTTClientPersistence.h.3 @@ -1,4 +1,4 @@ -.TH "MQTTClientPersistence.h" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClientPersistence.h" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTClient_SSLOptions.3 b/docs/MQTTClient/man/man3/MQTTClient_SSLOptions.3 index aa62bfa4..36ef1e29 100644 --- a/docs/MQTTClient/man/man3/MQTTClient_SSLOptions.3 +++ b/docs/MQTTClient/man/man3/MQTTClient_SSLOptions.3 @@ -1,4 +1,4 @@ -.TH "MQTTClient_SSLOptions" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClient_SSLOptions" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -70,9 +70,9 @@ MQTTClient_SSLOptions .PP MQTTClient_sslProperties defines the settings to establish an SSL/TLS connection using the OpenSSL library\&. It covers the following scenarios: .IP "\(bu" 2 -Server authentication: The client needs the digital certificate of the server\&. It is included in a store containting trusted material (also known as 'trust store')\&. +Server authentication: The client needs the digital certificate of the server\&. It is included in a store containting trusted material (also known as "trust store")\&. .IP "\(bu" 2 -Mutual authentication: Both client and server are authenticated during the SSL handshake\&. In addition to the digital certificate of the server in a trust store, the client will need its own digital certificate and the private key used to sign its digital certificate stored in a 'key store'\&. +Mutual authentication: Both client and server are authenticated during the SSL handshake\&. In addition to the digital certificate of the server in a trust store, the client will need its own digital certificate and the private key used to sign its digital certificate stored in a "key store"\&. .IP "\(bu" 2 Anonymous connection: Both client and server do not get authenticated and no credentials are needed to establish an SSL connection\&. Note that this scenario is not fully secure since it is subject to man-in-the-middle attacks\&. .PP @@ -92,7 +92,7 @@ If not included in the sslKeyStore, this setting points to the file in PEM forma .SS "const char* privateKeyPassword" The password to load the client's privateKey if encrypted\&. .SS "const char* enabledCipherSuites" -The list of cipher suites that the client will present to the server during the SSL handshake\&. For a full explanation of the cipher list format, please see the OpenSSL on-line documentation: http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT If this setting is ommitted, its default value will be 'ALL', that is, all the cipher suites -excluding those offering no encryption- will be considered\&. This setting can be used to set an SSL anonymous connection ('aNULL' string value, for instance)\&. +The list of cipher suites that the client will present to the server during the SSL handshake\&. For a full explanation of the cipher list format, please see the OpenSSL on-line documentation: http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT If this setting is ommitted, its default value will be "ALL", that is, all the cipher suites -excluding those offering no encryption- will be considered\&. This setting can be used to set an SSL anonymous connection ("aNULL" string value, for instance)\&. .SS "int enableServerCertAuth" True/False option to enable verification of the server certificate .SS "int sslVersion" diff --git a/docs/MQTTClient/man/man3/MQTTClient_connectOptions.3 b/docs/MQTTClient/man/man3/MQTTClient_connectOptions.3 index a7a1db34..42d84dd6 100644 --- a/docs/MQTTClient/man/man3/MQTTClient_connectOptions.3 +++ b/docs/MQTTClient/man/man3/MQTTClient_connectOptions.3 @@ -1,4 +1,4 @@ -.TH "MQTTClient_connectOptions" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClient_connectOptions" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -122,9 +122,9 @@ The eyecatcher for this structure\&. must be MQTC\&. .SS "int struct_version" The version number of this structure\&. Must be 0, 1, 2, 3, 4, 5, 6, 7 or 8\&. 0 signifies no SSL options and no serverURIs 1 signifies no serverURIs 2 signifies no MQTTVersion 3 signifies no returned values 4 signifies no binary password option 5 signifies no maxInflightMessages and cleanstart 6 signifies no HTTP headers option 7 signifies no HTTP proxy and HTTPS proxy options .SS "int keepAliveInterval" -The 'keep alive' interval, measured in seconds, defines the maximum time that should pass without communication between the client and the server The client will ensure that at least one message travels across the network within each keep alive period\&. In the absence of a data-related message during the time period, the client sends a very small MQTT 'ping' message, which the server will acknowledge\&. The keep alive interval enables the client to detect when the server is no longer available without having to wait for the long TCP/IP timeout\&. +The "keep alive" interval, measured in seconds, defines the maximum time that should pass without communication between the client and the server The client will ensure that at least one message travels across the network within each keep alive period\&. In the absence of a data-related message during the time period, the client sends a very small MQTT "ping" message, which the server will acknowledge\&. The keep alive interval enables the client to detect when the server is no longer available without having to wait for the long TCP/IP timeout\&. .SS "int cleansession" -This is a boolean value\&. The cleansession setting controls the behaviour of both the client and the server at connection and disconnection time\&. The client and server both maintain session state information\&. This information is used to ensure 'at least once' and 'exactly once' delivery, and 'exactly once' receipt of messages\&. Session state also includes subscriptions created by an MQTT client\&. You can choose to maintain or discard state information between sessions\&. +This is a boolean value\&. The cleansession setting controls the behaviour of both the client and the server at connection and disconnection time\&. The client and server both maintain session state information\&. This information is used to ensure "at least once" and "exactly once" delivery, and "exactly once" receipt of messages\&. Session state also includes subscriptions created by an MQTT client\&. You can choose to maintain or discard state information between sessions\&. .PP When cleansession is true, the state information is discarded at connect and disconnect\&. Setting cleansession to false keeps the state information\&. When you connect an MQTT client application with \fBMQTTClient_connect()\fP, the client identifies the connection using the client identifier and the address of the server\&. The server checks whether session information for this client has been saved from a previous connection to the server\&. If a previous session still exists, and cleansession=true, then the previous session information at the client and server is cleared\&. If cleansession=false, the previous session is resumed\&. If no previous session exists, a new session is started\&. diff --git a/docs/MQTTClient/man/man3/MQTTClient_createOptions.3 b/docs/MQTTClient/man/man3/MQTTClient_createOptions.3 index 9394c063..b9d57ab2 100644 --- a/docs/MQTTClient/man/man3/MQTTClient_createOptions.3 +++ b/docs/MQTTClient/man/man3/MQTTClient_createOptions.3 @@ -1,4 +1,4 @@ -.TH "MQTTClient_createOptions" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClient_createOptions" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -32,8 +32,6 @@ The eyecatcher for this structure\&. must be MQCO\&. The version number of this structure\&. Must be 0 .SS "int MQTTVersion" Whether the MQTT version is 3\&.1, 3\&.1\&.1, or 5\&. To use V5, this must be set\&. MQTT V5 has to be chosen here, because during the create call the message persistence is initialized, and we want to know whether the format of any persisted messages is appropriate for the MQTT version we are going to connect with\&. Selecting 3\&.1 or 3\&.1\&.1 and attempting to read 5\&.0 persisted messages will result in an error on create\&. -.br - .SH "Author" .PP diff --git a/docs/MQTTClient/man/man3/MQTTClient_init_options.3 b/docs/MQTTClient/man/man3/MQTTClient_init_options.3 index 432df9e1..17a7ccdf 100644 --- a/docs/MQTTClient/man/man3/MQTTClient_init_options.3 +++ b/docs/MQTTClient/man/man3/MQTTClient_init_options.3 @@ -1,4 +1,4 @@ -.TH "MQTTClient_init_options" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClient_init_options" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTClient_message.3 b/docs/MQTTClient/man/man3/MQTTClient_message.3 index b6edf0a4..d628b17f 100644 --- a/docs/MQTTClient/man/man3/MQTTClient_message.3 +++ b/docs/MQTTClient/man/man3/MQTTClient_message.3 @@ -1,4 +1,4 @@ -.TH "MQTTClient_message" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClient_message" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTClient_nameValue.3 b/docs/MQTTClient/man/man3/MQTTClient_nameValue.3 index 008c9ce8..0a412329 100644 --- a/docs/MQTTClient/man/man3/MQTTClient_nameValue.3 +++ b/docs/MQTTClient/man/man3/MQTTClient_nameValue.3 @@ -1,4 +1,4 @@ -.TH "MQTTClient_nameValue" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClient_nameValue" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTClient_persistence.3 b/docs/MQTTClient/man/man3/MQTTClient_persistence.3 index 01fbaa76..a1139ade 100644 --- a/docs/MQTTClient/man/man3/MQTTClient_persistence.3 +++ b/docs/MQTTClient/man/man3/MQTTClient_persistence.3 @@ -1,4 +1,4 @@ -.TH "MQTTClient_persistence" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClient_persistence" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTClient_willOptions.3 b/docs/MQTTClient/man/man3/MQTTClient_willOptions.3 index 7868dfc3..304e5075 100644 --- a/docs/MQTTClient/man/man3/MQTTClient_willOptions.3 +++ b/docs/MQTTClient/man/man3/MQTTClient_willOptions.3 @@ -1,4 +1,4 @@ -.TH "MQTTClient_willOptions" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTClient_willOptions" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -44,7 +44,7 @@ MQTTClient_willOptions .in -1c .SH "Detailed Description" .PP -\fBMQTTClient_willOptions\fP defines the MQTT 'Last Will and Testament' (LWT) settings for the client\&. In the event that a client unexpectedly loses its connection to the server, the server publishes the LWT message to the LWT topic on behalf of the client\&. This allows other clients (subscribed to the LWT topic) to be made aware that the client has disconnected\&. To enable the LWT function for a specific client, a valid pointer to an \fBMQTTClient_willOptions\fP structure is passed in the \fBMQTTClient_connectOptions\fP structure used in the \fBMQTTClient_connect()\fP call that connects the client to the server\&. The pointer to \fBMQTTClient_willOptions\fP can be set to NULL if the LWT function is not required\&. +\fBMQTTClient_willOptions\fP defines the MQTT "Last Will and Testament" (LWT) settings for the client\&. In the event that a client unexpectedly loses its connection to the server, the server publishes the LWT message to the LWT topic on behalf of the client\&. This allows other clients (subscribed to the LWT topic) to be made aware that the client has disconnected\&. To enable the LWT function for a specific client, a valid pointer to an \fBMQTTClient_willOptions\fP structure is passed in the \fBMQTTClient_connectOptions\fP structure used in the \fBMQTTClient_connect()\fP call that connects the client to the server\&. The pointer to \fBMQTTClient_willOptions\fP can be set to NULL if the LWT function is not required\&. .SH "Field Documentation" .PP .SS "char struct_id[4]" diff --git a/docs/MQTTClient/man/man3/MQTTLenString.3 b/docs/MQTTClient/man/man3/MQTTLenString.3 index 1100d683..10ffb117 100644 --- a/docs/MQTTClient/man/man3/MQTTLenString.3 +++ b/docs/MQTTClient/man/man3/MQTTLenString.3 @@ -1,4 +1,4 @@ -.TH "MQTTLenString" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTLenString" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTProperties.3 b/docs/MQTTClient/man/man3/MQTTProperties.3 index 3be0fd63..22108878 100644 --- a/docs/MQTTClient/man/man3/MQTTProperties.3 +++ b/docs/MQTTClient/man/man3/MQTTProperties.3 @@ -1,4 +1,4 @@ -.TH "MQTTProperties" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTProperties" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTProperties.h.3 b/docs/MQTTClient/man/man3/MQTTProperties.h.3 index 285401b5..bc6f78ab 100644 --- a/docs/MQTTClient/man/man3/MQTTProperties.h.3 +++ b/docs/MQTTClient/man/man3/MQTTProperties.h.3 @@ -1,4 +1,4 @@ -.TH "MQTTProperties.h" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTProperties.h" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTProperty.3 b/docs/MQTTClient/man/man3/MQTTProperty.3 index 66ccdd0e..00090c38 100644 --- a/docs/MQTTClient/man/man3/MQTTProperty.3 +++ b/docs/MQTTClient/man/man3/MQTTProperty.3 @@ -1,4 +1,4 @@ -.TH "MQTTProperty" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTProperty" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTReasonCodes.h.3 b/docs/MQTTClient/man/man3/MQTTReasonCodes.h.3 index 7199d6f9..cca35deb 100644 --- a/docs/MQTTClient/man/man3/MQTTReasonCodes.h.3 +++ b/docs/MQTTClient/man/man3/MQTTReasonCodes.h.3 @@ -1,4 +1,4 @@ -.TH "MQTTReasonCodes.h" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTReasonCodes.h" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTResponse.3 b/docs/MQTTClient/man/man3/MQTTResponse.3 index 8bb42b1d..ee4a35f2 100644 --- a/docs/MQTTClient/man/man3/MQTTResponse.3 +++ b/docs/MQTTClient/man/man3/MQTTResponse.3 @@ -1,4 +1,4 @@ -.TH "MQTTResponse" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTResponse" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTSubscribeOpts.h.3 b/docs/MQTTClient/man/man3/MQTTSubscribeOpts.h.3 index 6910d594..39b5877a 100644 --- a/docs/MQTTClient/man/man3/MQTTSubscribeOpts.h.3 +++ b/docs/MQTTClient/man/man3/MQTTSubscribeOpts.h.3 @@ -1,4 +1,4 @@ -.TH "MQTTSubscribeOpts.h" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTSubscribeOpts.h" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/MQTTSubscribe_options.3 b/docs/MQTTClient/man/man3/MQTTSubscribe_options.3 index b2cb93c0..b3f955a9 100644 --- a/docs/MQTTClient/man/man3/MQTTSubscribe_options.3 +++ b/docs/MQTTClient/man/man3/MQTTSubscribe_options.3 @@ -1,4 +1,4 @@ -.TH "MQTTSubscribe_options" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "MQTTSubscribe_options" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/_h_t_t_p_proxies.3 b/docs/MQTTClient/man/man3/_h_t_t_p_proxies.3 index 7ac45b09..78bafe6c 100644 --- a/docs/MQTTClient/man/man3/_h_t_t_p_proxies.3 +++ b/docs/MQTTClient/man/man3/_h_t_t_p_proxies.3 @@ -1,4 +1,4 @@ -.TH "_h_t_t_p_proxies" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "_h_t_t_p_proxies" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/async.3 b/docs/MQTTClient/man/man3/async.3 index 589c37a7..5dce24fe 100644 --- a/docs/MQTTClient/man/man3/async.3 +++ b/docs/MQTTClient/man/man3/async.3 @@ -1,4 +1,4 @@ -.TH "async" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "async" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -7,7 +7,7 @@ async \- Asynchronous vs synchronous client applications This client library supports two modes of operation\&. These are referred to as \fBsynchronous\fP and \fBasynchronous\fP modes\&. If your application calls \fBMQTTClient_setCallbacks()\fP, this puts the client into asynchronous mode, otherwise it operates in synchronous mode\&. .PP -In synchronous mode, the client application runs on a single thread\&. Messages are published using the \fBMQTTClient_publish()\fP and \fBMQTTClient_publishMessage()\fP functions\&. To determine that a QoS1 or QoS2 (see \fBQuality of service\fP) message has been successfully delivered, the application must call the \fBMQTTClient_waitForCompletion()\fP function\&. An example showing synchronous publication is shown in \fBSynchronous publication example\fP\&. Receiving messages in synchronous mode uses the \fBMQTTClient_receive()\fP function\&. Client applications must call either \fBMQTTClient_receive()\fP or \fBMQTTClient_yield()\fP relatively frequently in order to allow processing of acknowledgements and the MQTT 'pings' that keep the network connection to the server alive\&. +In synchronous mode, the client application runs on a single thread\&. Messages are published using the \fBMQTTClient_publish()\fP and \fBMQTTClient_publishMessage()\fP functions\&. To determine that a QoS1 or QoS2 (see \fBQuality of service\fP) message has been successfully delivered, the application must call the \fBMQTTClient_waitForCompletion()\fP function\&. An example showing synchronous publication is shown in \fBSynchronous publication example\fP\&. Receiving messages in synchronous mode uses the \fBMQTTClient_receive()\fP function\&. Client applications must call either \fBMQTTClient_receive()\fP or \fBMQTTClient_yield()\fP relatively frequently in order to allow processing of acknowledgements and the MQTT "pings" that keep the network connection to the server alive\&. .PP In asynchronous mode, the client application runs on several threads\&. The main program calls functions in the client library to publish and subscribe, just as for the synchronous mode\&. Processing of handshaking and maintaining the network connection is performed in the background, however\&. Notifications of status and message reception are provided to the client application using callbacks registered with the library by the call to \fBMQTTClient_setCallbacks()\fP (see \fBMQTTClient_messageArrived()\fP, \fBMQTTClient_connectionLost()\fP and \fBMQTTClient_deliveryComplete()\fP)\&. This API is not thread safe however - it is not possible to call it from multiple threads without synchronization\&. You can use the MQTTAsync API for that\&. diff --git a/docs/MQTTClient/man/man3/callbacks.3 b/docs/MQTTClient/man/man3/callbacks.3 index a7a58f62..411b518a 100644 --- a/docs/MQTTClient/man/man3/callbacks.3 +++ b/docs/MQTTClient/man/man3/callbacks.3 @@ -1,4 +1,4 @@ -.TH "callbacks" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "callbacks" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -10,7 +10,7 @@ You must not call a function from this API from within a callback otherwise a de When using MQTT 5\&.0, you can also call connect from within the disconnected callback, which is invoked when the MQTT server sends a disconnect packet\&. This server behaviour is allowed in MQTT 5\&.0, but not in MQTT 3\&.1\&.1, so the disconnected callback will never be invoked if you use MQTT 3\&.1\&.1\&. .PP -In particular, you must make a publish call within the message arrived callback\&. These restrictions are all lifted in the \fRMQTTAsync API\fP\&. +In particular, you must not make a publish call within the message arrived callback\&. These restrictions are all lifted in the \fRMQTTAsync API\fP\&. .PP If no callbacks are assigned, this will include the message arrived callback\&. This could be done if the application is a pure publisher, and does not subscribe to any topics\&. If however messages are received, and no message arrived callback is set, or receive not called, then those messages will accumulate and take up memory, as there is no place for them to be delivered\&. It is up to the application to protect against this situation\&. diff --git a/docs/MQTTClient/man/man3/pubasync.3 b/docs/MQTTClient/man/man3/pubasync.3 index 7068fda0..3ecc048c 100644 --- a/docs/MQTTClient/man/man3/pubasync.3 +++ b/docs/MQTTClient/man/man3/pubasync.3 @@ -1,4 +1,4 @@ -.TH "pubasync" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "pubasync" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -18,7 +18,7 @@ pubasync \- Asynchronous publication example #include #endif -#define ADDRESS "tcp://mqtt\&.eclipseprojects\&.io:1883" +#define ADDRESS "tcp://test\&.mosquitto\&.org:1883" #define CLIENTID "ExampleClientPub" #define TOPIC "MQTT Examples" #define PAYLOAD "Hello World!" diff --git a/docs/MQTTClient/man/man3/pubsync.3 b/docs/MQTTClient/man/man3/pubsync.3 index 99bc57ab..07c797e1 100644 --- a/docs/MQTTClient/man/man3/pubsync.3 +++ b/docs/MQTTClient/man/man3/pubsync.3 @@ -1,4 +1,4 @@ -.TH "pubsync" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "pubsync" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -12,7 +12,7 @@ pubsync \- Synchronous publication example #include #include "MQTTClient\&.h" -#define ADDRESS "tcp://mqtt\&.eclipseprojects\&.io:1883" +#define ADDRESS "tcp://test\&.mosquitto\&.org:1883" #define CLIENTID "ExampleClientPub" #define TOPIC "MQTT Examples" #define PAYLOAD "Hello World!" diff --git a/docs/MQTTClient/man/man3/qos.3 b/docs/MQTTClient/man/man3/qos.3 index 792bc0bb..c62d01f1 100644 --- a/docs/MQTTClient/man/man3/qos.3 +++ b/docs/MQTTClient/man/man3/qos.3 @@ -1,10 +1,10 @@ -.TH "qos" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "qos" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME qos \- Quality of service .PP -The MQTT protocol provides three qualities of service for delivering messages between clients and servers: 'at most once', 'at least once' and 'exactly once'\&. +The MQTT protocol provides three qualities of service for delivering messages between clients and servers: "at most once", "at least once" and "exactly once"\&. .PP Quality of service (QoS) is an attribute of an individual message being published\&. An application sets the QoS for a specific message by setting the \fBMQTTClient_message\&.qos\fP field to the required value\&. @@ -16,7 +16,7 @@ A subscribing client can set the maximum quality of service a server uses to sen The three levels are: .PP -\fBQoS0, At most once:\fP The message is delivered at most once, or it may not be delivered at all\&. Its delivery across the network is not acknowledged\&. The message is not stored\&. The message could be lost if the client is disconnected, or if the server fails\&. QoS0 is the fastest mode of transfer\&. It is sometimes called 'fire and forget'\&. +\fBQoS0, At most once:\fP The message is delivered at most once, or it may not be delivered at all\&. Its delivery across the network is not acknowledged\&. The message is not stored\&. The message could be lost if the client is disconnected, or if the server fails\&. QoS0 is the fastest mode of transfer\&. It is sometimes called "fire and forget"\&. .PP The MQTT protocol does not require servers to forward publications at QoS0 to a client\&. If the client is disconnected at the time the server receives the publication, the publication might be discarded, depending on the server implementation\&. diff --git a/docs/MQTTClient/man/man3/subasync.3 b/docs/MQTTClient/man/man3/subasync.3 index 54f6127b..5fc19901 100644 --- a/docs/MQTTClient/man/man3/subasync.3 +++ b/docs/MQTTClient/man/man3/subasync.3 @@ -1,4 +1,4 @@ -.TH "subasync" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "subasync" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME @@ -12,7 +12,7 @@ subasync \- Asynchronous subscription example #include #include "MQTTClient\&.h" -#define ADDRESS "tcp://mqtt\&.eclipseprojects\&.io:1883" +#define ADDRESS "tcp://test\&.mosquitto\&.org:1883" #define CLIENTID "ExampleClientSub" #define TOPIC "MQTT Examples" #define PAYLOAD "Hello World!" diff --git a/docs/MQTTClient/man/man3/tracing.3 b/docs/MQTTClient/man/man3/tracing.3 index 42408b35..af38823c 100644 --- a/docs/MQTTClient/man/man3/tracing.3 +++ b/docs/MQTTClient/man/man3/tracing.3 @@ -1,4 +1,4 @@ -.TH "tracing" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "tracing" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/MQTTClient/man/man3/wildcard.3 b/docs/MQTTClient/man/man3/wildcard.3 index 4c65343b..536b0d78 100644 --- a/docs/MQTTClient/man/man3/wildcard.3 +++ b/docs/MQTTClient/man/man3/wildcard.3 @@ -1,4 +1,4 @@ -.TH "wildcard" 3 "Tue Jan 7 2025 13:21:06" "Paho MQTT C Client Library" \" -*- nroff -*- +.TH "wildcard" 3 "Sat Aug 16 2025 14:15:23" "Paho MQTT C Client Library" \" -*- nroff -*- .ad l .nh .SH NAME