Files
aman-es/include/aman/types/Communication.h

42 lines
1.5 KiB
C++

/*
* @brief Defines the communication configuration
* @file aman/types/Communication.h
* @author Sven Czarnian <devel@svcz.de>
* @copyright Copyright 2021 Sven Czarnian
* @license This project is published under the GNU General Public License v3 (GPLv3)
*/
#pragma once
#include <string>
namespace aman {
/**
* @brief Defines the communication structure
* @ingroup types
*/
struct Communication {
bool valid; /**< Marks if the configuration is valid */
bool httpsProtocol; /**< Marks if the server uses HTTPS */
std::string address; /**< The address of the backend */
std::uint16_t portBackend; /**< The reported port of the backend */
std::uint16_t portRestAPI; /**< The notification port of the backend */
std::string serverPublicIdentifier; /**< The server's public identifier */
std::string clientPublicIdentifier; /**< The client's public identifier */
std::string clientPrivateIdentifier; /**< The client's private identifier */
/**
* @brief Initializes an invalid configuration
*/
Communication() :
valid(false),
httpsProtocol(false),
address(),
portBackend(0),
portRestAPI(0),
serverPublicIdentifier(),
clientPublicIdentifier(),
clientPrivateIdentifier() { }
};
}