/* Copyright (C) 2019 * * This file is part of the osdev components suite * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any * later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #include "mqttsuccess.h" using namespace osdev::components::mqtt; ConnectionData::ConnectionData() : m_serverUri() , m_mqttVersion() , m_sessionPresent() { } ConnectionData::ConnectionData(char* _serverUri, int _mqttVersion, int _sessionPresent) : m_serverUri(_serverUri ? _serverUri : "unknown") , m_mqttVersion(_mqttVersion) , m_sessionPresent(0 != _sessionPresent) { } MqttSuccess::MqttSuccess(MQTTAsync_token _token) : m_token(_token) , m_data(Unspecified{}) { } MqttSuccess::MqttSuccess(MQTTAsync_token _token, int _qos) : m_token(_token) , m_data(_qos) { } MqttSuccess::MqttSuccess(MQTTAsync_token _token, const std::vector& _qosMany) : m_token(_token) , m_data(_qosMany) { } MqttSuccess::MqttSuccess(MQTTAsync_token _token, const MqttMessage& pubMsg) : m_token(_token) , m_data(pubMsg) { } MqttSuccess::MqttSuccess(MQTTAsync_token _token, const ConnectionData& connData) : m_token(_token) , m_data(connData) { } int MqttSuccess::qos() const { return boost::get(m_data); } std::vector MqttSuccess::qosMany() const { return boost::get>(m_data); } MqttMessage MqttSuccess::publishData() const { return boost::get(m_data); } ConnectionData MqttSuccess::connectionData() const { return boost::get(m_data); }