Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
ECommunications.hpp
Go to the documentation of this file.
1#ifndef LIBS_COMM_ECOMMUNICATIONS_HPP_
2#define LIBS_COMM_ECOMMUNICATIONS_HPP_
3
4#include "core/defines.hpp"
6#include "third_party/magic_enum/magic_enum.hpp"
7
8#include <map>
9#include <string>
10
11inline static constexpr std::string_view kPrvCommunicationProtocolCan {"CAN"};
12inline static constexpr std::string_view kPrvCommunicationProtocolJ1939 {"J1939"};
13inline static constexpr std::string_view kPrvCommunicationProtocolModbus {"MODBUS"};
14inline static constexpr std::string_view kPrvCommunicationProtocolNmea0183 {"NMEA0183"};
15inline static constexpr std::string_view kPrvCommunicationProtocolRedundancy {"Redundancy"};
16inline static constexpr std::string_view kPrvCommunicationProtocolLoggers {"Loggers"};
17
18inline static constexpr std::string_view kPrvNetworkTypeIas {"IAS"};
19inline static constexpr std::string_view kPrvNetworkTypeRedundancy {"Redundancy"};
20inline static constexpr std::string_view kPrvNetworkTypeVdr {"VDR"};
21inline static constexpr std::string_view kPrvNetworkTypeWatchCall {"WatchCall"};
22inline static constexpr std::string_view kPrvNetworkTypeExternal {"External"};
23inline static constexpr std::string_view kPrvNetworkTypeApi {"Api"};
24
25inline std::string strCommunicationProtocol(const iv::comms::eProtocolType eCommunicationProtocol)
26{
27 const std::map<iv::comms::eProtocolType, std::string_view> stringsCommunicationProtocol {
34
35 const auto it = stringsCommunicationProtocol.find(eCommunicationProtocol);
36
37 return std::string(it == stringsCommunicationProtocol.end() ? magic_enum::enum_name(eCommunicationProtocol)
38 : it->second);
39}
40
41inline std::string strNetworkType(const iv::comms::eNetworkType eNetworkType)
42{
43 const std::map<iv::comms::eNetworkType, std::string_view> stringsNetworksType {
50
51 const auto it = stringsNetworksType.find(eNetworkType);
52
53 return std::string(it == stringsNetworksType.end() ? "None" : it->second);
54}
55
56#endif /* LIBS_COMM_ECOMMUNICATIONS_HPP_ */
std::string strCommunicationProtocol(const iv::comms::eProtocolType eCommunicationProtocol)
Definition ECommunications.hpp:25
static constexpr std::string_view kPrvNetworkTypeExternal
Definition ECommunications.hpp:22
static constexpr std::string_view kPrvNetworkTypeApi
Definition ECommunications.hpp:23
static constexpr std::string_view kPrvCommunicationProtocolCan
Definition ECommunications.hpp:11
static constexpr std::string_view kPrvCommunicationProtocolLoggers
Definition ECommunications.hpp:16
static constexpr std::string_view kPrvCommunicationProtocolNmea0183
Definition ECommunications.hpp:14
static constexpr std::string_view kPrvNetworkTypeVdr
Definition ECommunications.hpp:20
std::string strNetworkType(const iv::comms::eNetworkType eNetworkType)
Definition ECommunications.hpp:41
static constexpr std::string_view kPrvNetworkTypeWatchCall
Definition ECommunications.hpp:21
static constexpr std::string_view kPrvNetworkTypeIas
Definition ECommunications.hpp:18
static constexpr std::string_view kPrvCommunicationProtocolJ1939
Definition ECommunications.hpp:12
static constexpr std::string_view kPrvNetworkTypeRedundancy
Definition ECommunications.hpp:19
static constexpr std::string_view kPrvCommunicationProtocolRedundancy
Definition ECommunications.hpp:15
static constexpr std::string_view kPrvCommunicationProtocolModbus
Definition ECommunications.hpp:13
eNetworkType
Definition enums.hpp:250
eProtocolType
Definition enums.hpp:260