RyanMqttUtile.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef __RyanMqttUtile__
  2. #define __RyanMqttUtile__
  3. #ifdef __cplusplus
  4. extern "C"
  5. {
  6. #endif
  7. #include "RyanMqttLog.h"
  8. #include "RyanMqttClient.h"
  9. #include "RyanMqttThread.h"
  10. // 定义枚举类型
  11. // 定义结构体类型
  12. struct NetworkContext
  13. {
  14. RyanMqttClient_t *client;
  15. };
  16. int32_t coreMqttTransportRecv(NetworkContext_t *pNetworkContext, void *pBuffer, size_t bytesToRecv);
  17. /* extern variables-----------------------------------------------------------*/
  18. extern void RyanMqttSetClientState(RyanMqttClient_t *client, RyanMqttState_e state);
  19. extern RyanMqttState_e RyanMqttGetClientState(RyanMqttClient_t *client);
  20. extern RyanMqttError_e RyanMqttIsConnected(RyanMqttClient_t *client);
  21. extern RyanMqttError_e RyanMqttSendPacket(RyanMqttClient_t *client, uint8_t *buf, uint32_t length);
  22. extern RyanMqttError_e RyanMqttRecvPacket(RyanMqttClient_t *client, uint8_t *buf, uint32_t length);
  23. extern RyanMqttError_e RyanMqttMsgHandlerCreate(RyanMqttClient_t *client, const char *topic, uint16_t topicLen, RyanMqttQos_e qos, RyanMqttMsgHandler_t **pMsgHandler);
  24. extern void RyanMqttMsgHandlerDestory(RyanMqttClient_t *client, RyanMqttMsgHandler_t *msgHandler);
  25. extern RyanMqttError_e RyanMqttMsgHandlerFind(RyanMqttClient_t *client, const char *topic, uint16_t topicLen, RyanMqttBool_e topicMatchedFlag, RyanMqttMsgHandler_t **pMsgHandler);
  26. extern RyanMqttError_e RyanMqttMsgHandlerAddToMsgList(RyanMqttClient_t *client, RyanMqttMsgHandler_t *msgHandler);
  27. extern RyanMqttError_e RyanMqttMsgHandlerRemoveToMsgList(RyanMqttClient_t *client, RyanMqttMsgHandler_t *msgHandler);
  28. extern RyanMqttError_e RyanMqttAckHandlerCreate(RyanMqttClient_t *client, uint8_t packetType, uint16_t packetId, uint16_t packetLen, uint8_t *packet, RyanMqttMsgHandler_t *msgHandler, RyanMqttAckHandler_t **pAckHandler, RyanMqttBool_e isPreallocatedPacket);
  29. extern void RyanMqttAckHandlerDestroy(RyanMqttClient_t *client, RyanMqttAckHandler_t *ackHandler);
  30. extern RyanMqttError_e RyanMqttAckListNodeFind(RyanMqttClient_t *client, uint8_t packetType, uint16_t packetId, RyanMqttAckHandler_t **pAckHandler);
  31. extern RyanMqttError_e RyanMqttAckListAddToAckList(RyanMqttClient_t *client, RyanMqttAckHandler_t *ackHandler);
  32. extern RyanMqttError_e RyanMqttAckListRemoveToAckList(RyanMqttClient_t *client, RyanMqttAckHandler_t *ackHandler);
  33. extern RyanMqttError_e RyanMqttAckListAddToUserAckList(RyanMqttClient_t *client, RyanMqttAckHandler_t *ackHandler);
  34. extern RyanMqttError_e RyanMqttAckListRemoveToUserAckList(RyanMqttClient_t *client, RyanMqttAckHandler_t *ackHandler);
  35. extern RyanMqttError_e RyanMqttStringCopy(char **dest, char *rest, uint32_t strLen);
  36. extern void RyanMqttCleanSession(RyanMqttClient_t *client);
  37. #ifdef __cplusplus
  38. }
  39. #endif
  40. #endif