interface_mqtt.h 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. #ifdef ENABLE_MQTT
  2. #pragma once
  3. #ifndef INTERFACE_MQTT_H
  4. #define INTERFACE_MQTT_H
  5. #include <string>
  6. #include <map>
  7. #include <functional>
  8. bool MQTT_Configure(std::string _mqttURI, std::string _clientid, std::string _user, std::string _password,
  9. std::string _maintopic, std::string _domoticz_in_topic, std::string _lwt, std::string _lwt_connected, std::string _lwt_disconnected,
  10. std::string _cacertfilename, std::string _clientcertfilename, std::string _clientkeyfilename,
  11. int _keepalive, bool SetRetainFlag, void *callbackOnConnected);
  12. int MQTT_Init();
  13. void MQTTdestroy_client(bool _disable);
  14. bool MQTTPublish(std::string _key, std::string _content, int qos, bool retained_flag = 1); // retained Flag as Standart
  15. bool getMQTTisEnabled();
  16. bool getMQTTisConnected();
  17. void MQTTregisterConnectFunction(std::string name, std::function<void()> func);
  18. void MQTTunregisterConnectFunction(std::string name);
  19. void MQTTregisterSubscribeFunction(std::string topic, std::function<bool(std::string, char*, int)> func);
  20. void MQTTdestroySubscribeFunction();
  21. void MQTTconnected();
  22. #endif //INTERFACE_MQTT_H
  23. #endif //#ENABLE_MQTT