MQTTProtocolClient.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*******************************************************************************
  2. * Copyright (c) 2009, 2013 IBM Corp.
  3. *
  4. * All rights reserved. This program and the accompanying materials
  5. * are made available under the terms of the Eclipse Public License v1.0
  6. * and Eclipse Distribution License v1.0 which accompany this distribution.
  7. *
  8. * The Eclipse Public License is available at
  9. * http://www.eclipse.org/legal/epl-v10.html
  10. * and the Eclipse Distribution License is available at
  11. * http://www.eclipse.org/org/documents/edl-v10.php.
  12. *
  13. * Contributors:
  14. * Ian Craggs - initial API and implementation and/or initial documentation
  15. * Ian Craggs, Allan Stockdill-Mander - SSL updates
  16. * Ian Craggs - MQTT 3.1.1 updates
  17. * Rong Xiang, Ian Craggs - C++ compatibility
  18. *******************************************************************************/
  19. #if !defined(MQTTPROTOCOLCLIENT_H)
  20. #define MQTTPROTOCOLCLIENT_H
  21. #include "LinkedList.h"
  22. #include "MQTTPacket.h"
  23. #include "Log.h"
  24. #include "MQTTProtocol.h"
  25. #include "Messages.h"
  26. #define MAX_MSG_ID 65535
  27. #define MAX_CLIENTID_LEN 65535
  28. int MQTTProtocol_startPublish(Clients* pubclient, Publish* publish, int qos, int retained, Messages** m);
  29. Messages* MQTTProtocol_createMessage(Publish* publish, Messages** mm, int qos, int retained);
  30. Publications* MQTTProtocol_storePublication(Publish* publish, int* len);
  31. int messageIDCompare(void* a, void* b);
  32. int MQTTProtocol_assignMsgId(Clients* client);
  33. void MQTTProtocol_removePublication(Publications* p);
  34. void Protocol_processPublication(Publish* publish, Clients* client);
  35. int MQTTProtocol_handlePublishes(void* pack, int sock);
  36. int MQTTProtocol_handlePubacks(void* pack, int sock);
  37. int MQTTProtocol_handlePubrecs(void* pack, int sock);
  38. int MQTTProtocol_handlePubrels(void* pack, int sock);
  39. int MQTTProtocol_handlePubcomps(void* pack, int sock);
  40. void MQTTProtocol_closeSession(Clients* c, int sendwill);
  41. void MQTTProtocol_keepalive(time_t);
  42. void MQTTProtocol_retry(time_t, int, int);
  43. void MQTTProtocol_freeClient(Clients* client);
  44. void MQTTProtocol_emptyMessageList(List* msgList);
  45. void MQTTProtocol_freeMessageList(List* msgList);
  46. char* MQTTStrncpy(char *dest, const char* src, size_t num);
  47. char* MQTTStrdup(const char* src);
  48. #endif