| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package main
- import (
- "sync"
- "lc/common/mqtt"
- )
- var _mqttMgrOnce sync.Once
- var _mqttMgrSingle *MQTTMgr
- func GetMQTTMgr() *MQTTMgr {
- _mqttMgrOnce.Do(func() {
- _mqttMgrSingle = _newMQTTMgr()
- })
- return _mqttMgrSingle
- }
- type MQTTMgr struct {
- Cloud *MqttClient
- }
- func _newMQTTMgr() *MQTTMgr {
- return &MQTTMgr{
- Cloud: NewMqttClient(MQTTConfig.Mqtt_Server,
- MQTTConfig.Mqtt_Id,
- MQTTConfig.Mqtt_User,
- MQTTConfig.Mqtt_Password,
- 3000, &EmptyMqttOnline{}),
- }
- }
- func (o *MQTTMgr) Subscribe(topic string, qos mqtt.QOS, handler mqtt.MessageHandler) {
- o.Cloud.Handle(topic, handler)
- err := o.Cloud.Subscribe(topic, qos)
- if err != nil {
- return
- }
- }
- func (o *MQTTMgr) UnSubscribe(topic string) {
- err := o.Cloud.Unsubscribe(topic)
- if err != nil {
- return
- }
- }
- func (o *MQTTMgr) Publish(topic string, payload string, qos mqtt.QOS) error {
- return o.Cloud.PublishString(topic, payload, qos)
- }
|