github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/tests/api/container/mqtt.go (about)

     1  // This file is part of the Smart Home
     2  // Program complex distribution https://github.com/e154/smart-home
     3  // Copyright (C) 2016-2023, Filippov Alex
     4  //
     5  // This library is free software: you can redistribute it and/or
     6  // modify it under the terms of the GNU Lesser General Public
     7  // License as published by the Free Software Foundation; either
     8  // version 3 of the License, or (at your option) any later version.
     9  //
    10  // This library is distributed in the hope that it will be useful,
    11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13  // Library General Public License for more details.
    14  //
    15  // You should have received a copy of the GNU Lesser General Public
    16  // License along with this library.  If not, see
    17  // <https://www.gnu.org/licenses/>.
    18  
    19  package container
    20  
    21  import (
    22  	"github.com/e154/smart-home/system/mqtt"
    23  	"github.com/e154/smart-home/system/mqtt_authenticator"
    24  )
    25  
    26  // Mqtt ...
    27  type Mqtt struct {
    28  	authenticator mqtt_authenticator.MqttAuthenticator
    29  }
    30  
    31  // NewMqtt ...
    32  func NewMqtt(authenticator mqtt_authenticator.MqttAuthenticator) mqtt.MqttServ {
    33  	return &Mqtt{
    34  		authenticator: authenticator,
    35  	}
    36  }
    37  
    38  // Shutdown ...
    39  func (m Mqtt) Shutdown() error {
    40  	return nil
    41  }
    42  
    43  // Start ...
    44  func (m Mqtt) Start() {}
    45  
    46  // Publish ...
    47  func (m Mqtt) Publish(topic string, payload []byte, qos uint8, retain bool) error {
    48  	return nil
    49  }
    50  
    51  // NewClient ...
    52  func (m Mqtt) NewClient(name string) mqtt.MqttCli {
    53  	return NewMqttCli()
    54  }
    55  
    56  // RemoveClient ...
    57  func (m Mqtt) RemoveClient(name string) {}
    58  
    59  // Admin ...
    60  func (m Mqtt) Admin() mqtt.Admin {
    61  	return nil
    62  }
    63  
    64  // Authenticator ...
    65  func (m Mqtt) Authenticator() mqtt_authenticator.MqttAuthenticator {
    66  	return m.authenticator
    67  }