DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
ConfigClientStructs.hpp
Go to the documentation of this file.
1
9#ifndef IOMANAGER_INCLUDE_IOMANAGER_CONFIGCLIENTSTRUCTS_HPP_
10#define IOMANAGER_INCLUDE_IOMANAGER_CONFIGCLIENTSTRUCTS_HPP_
11
13#include "nlohmann/json.hpp"
14
15#include <string>
16
17namespace dunedaq {
18namespace iomanager {
19
20enum class ConnectionType : int
21{
22kSendRecv = 0,
23kPubSub = 1,
24kInvalid = 2,
25};
26
27inline ConnectionType
37
39{
40 std::string uid_regex;
41 std::string data_type;
42
44
45 // Implicit conversion
47 : uid_regex(convert.uid)
48 , data_type(convert.data_type)
49 {
50 }
52};
53
55{
56 std::string uid;
57 std::string data_type;
58 std::string uri;
59 ConnectionType connection_type; // Maps to dunedaq::confmodel::NetworkConnection::Connection_type
60
62
63 // Implicit Conversion
65 : uid(convert->UID())
66 , data_type(convert->get_data_type())
67 , uri(get_uri_for_connection(convert))
68 , connection_type(string_to_connection_type_enum(convert->get_connection_type()))
69 {
70 }
71
73};
74
76{
77 std::string uid;
78 std::string data_type;
79 std::string uri;
80 ConnectionType connection_type; // Maps to dunedaq::confmodel::NetworkConnection::Connection_type
81
83
84 // Implicit Conversion
86 : uid(convert->UID())
87 , data_type(convert->get_data_type())
88 , uri(get_uri_for_connection(convert))
89 , connection_type(string_to_connection_type_enum(convert->get_connection_type()))
90 {
91 }
92
93 // Implicit Conversion
95 : uid(convert.uid)
96 , data_type(convert.data_type)
97 , uri(convert.uri)
99 {
100 }
101
103};
104
111
112inline bool
114{
115 if (l.data_type == r.data_type) {
116 return l.uid < r.uid;
117 }
118 return l.data_type < r.data_type;
119}
120}
121}
122
123#endif // IOMANAGER_INCLUDE_IOMANAGER_CONFIGCLIENTSTRUCTS_HPP_
ConnectionType string_to_connection_type_enum(std::string type)
bool operator<(ConnectionRegistration const &l, ConnectionRegistration const &r)
std::string get_uri_for_connection(const confmodel::NetworkConnection *netCon)
Including Qt Headers.
ConnectionInfo(const confmodel::NetworkConnection *convert)
NLOHMANN_DEFINE_TYPE_INTRUSIVE(ConnectionInfo, uid, data_type, uri, connection_type)
NLOHMANN_DEFINE_TYPE_INTRUSIVE(ConnectionRegistration, uid, data_type, uri, connection_type)
ConnectionRegistration(const confmodel::NetworkConnection *convert)
NLOHMANN_DEFINE_TYPE_INTRUSIVE(ConnectionRequest, uid_regex, data_type)
NLOHMANN_DEFINE_TYPE_INTRUSIVE(ConnectionResponse, connections)
std::vector< ConnectionInfo > connections