/*
 * @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 */
        std::string   url;        /**< The URL of the backend */
        std::uint16_t port;       /**< The port of the backend */
        std::string   identifier; /**< The user's identifier for the connection */

        /**
         * @brief Initializes an invalid configuration
         */
        Communication() :
                valid(false),
                url(),
                port(0),
                identifier() { }
    };
}
