DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
msgp.hpp
Go to the documentation of this file.
1/*
2 * This file is 100% generated. Any manual edits will likely be lost.
3 *
4 * This contains functions struct and other type definitions for schema in
5 * namespace dunedaq::timinglibs::timingcmd to be serialized via MsgPack.
6 */
7#ifndef DUNEDAQ_TIMINGLIBS_TIMINGCMD_MSGPACK_HPP
8#define DUNEDAQ_TIMINGLIBS_TIMINGCMD_MSGPACK_HPP
9
10// My structs
12
13
14// We have ANY types so need to include NLJS serialization
16
17#include <msgpack.hpp>
18
19
20// MsgPack serialization/deserialization functions
21namespace msgpack {
22MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS) {
23namespace adaptor {
24
25// MsgPack serialization for ANY type:
26// dunedaq::timinglibs::timingcmd::TimingHwCmdPayload
27template<>
28struct convert<dunedaq::timinglibs::timingcmd::TimingHwCmdPayload> {
29 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingHwCmdPayload& v) const {
30 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
31 if (o.via.array.size != 1) throw msgpack::type_error();
32 v=dunedaq::timinglibs::timingcmd::TimingHwCmdPayload::parse(o.via.array.ptr[0].as<std::string>());
33 return o;
34 }
35};
36template<>
37struct pack<dunedaq::timinglibs::timingcmd::TimingHwCmdPayload> {
38 template <typename Stream>
39 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingHwCmdPayload const& v) const {
40 // packing member variables as an array.
41 o.pack_array(1);
42 o.pack(v.dump());
43 return o;
44 }
45};
46
47
48// MsgPack serialization for RECORD type:
49// dunedaq::timinglibs::timingcmd::EndpointLocation
50template<>
51struct convert<dunedaq::timinglibs::timingcmd::EndpointLocation> {
52 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::EndpointLocation& v) const {
53 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
54 if (o.via.array.size != 3) throw msgpack::type_error();
55 v.fanout_slot = o.via.array.ptr[0].as<dunedaq::timinglibs::timingcmd::IntData>();
56 v.sfp_slot = o.via.array.ptr[1].as<dunedaq::timinglibs::timingcmd::IntData>();
57 v.address = o.via.array.ptr[2].as<dunedaq::timinglibs::timingcmd::UintData>();
58 return o;
59 }
60};
61template<>
62struct pack<dunedaq::timinglibs::timingcmd::EndpointLocation> {
63 template <typename Stream>
64 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::EndpointLocation const& v) const {
65 // packing member variables as an array.
66 o.pack_array(3);
67 o.pack(v.fanout_slot);
68 o.pack(v.sfp_slot);
69 o.pack(v.address);
70 return o;
71 }
72};
73
74// MsgPack serialization for RECORD type:
75// dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload
76template<>
77struct convert<dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload> {
78 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload& v) const {
79 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
80 if (o.via.array.size != 5) throw msgpack::type_error();
84 v.data_source = o.via.array.ptr[3].as<dunedaq::timinglibs::timingcmd::UintData>();
86 return o;
87 }
88};
89template<>
90struct pack<dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload> {
91 template <typename Stream>
92 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::HSIConfigureCmdPayload const& v) const {
93 // packing member variables as an array.
94 o.pack_array(5);
95 o.pack(v.rising_edge_mask);
96 o.pack(v.falling_edge_mask);
97 o.pack(v.invert_edge_mask);
98 o.pack(v.data_source);
99 o.pack(v.random_rate);
100 return o;
101 }
102};
103
104// MsgPack serialization for RECORD type:
105// dunedaq::timinglibs::timingcmd::IOResetCmdPayload
106template<>
107struct convert<dunedaq::timinglibs::timingcmd::IOResetCmdPayload> {
108 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::IOResetCmdPayload& v) const {
109 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
110 if (o.via.array.size != 3) throw msgpack::type_error();
111 v.clock_config = o.via.array.ptr[0].as<dunedaq::timinglibs::timingcmd::String>();
112 v.soft = o.via.array.ptr[1].as<dunedaq::timinglibs::timingcmd::BoolData>();
113 v.clock_source = o.via.array.ptr[2].as<dunedaq::timinglibs::timingcmd::UintData>();
114 return o;
115 }
116};
117template<>
118struct pack<dunedaq::timinglibs::timingcmd::IOResetCmdPayload> {
119 template <typename Stream>
120 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::IOResetCmdPayload const& v) const {
121 // packing member variables as an array.
122 o.pack_array(3);
123 o.pack(v.clock_config);
124 o.pack(v.soft);
125 o.pack(v.clock_source);
126 return o;
127 }
128};
129
130// MsgPack serialization for RECORD type:
131// dunedaq::timinglibs::timingcmd::SyncTimestampPayload
132template<>
133struct convert<dunedaq::timinglibs::timingcmd::SyncTimestampPayload> {
134 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::SyncTimestampPayload& v) const {
135 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
136 if (o.via.array.size != 1) throw msgpack::type_error();
138 return o;
139 }
140};
141template<>
142struct pack<dunedaq::timinglibs::timingcmd::SyncTimestampPayload> {
143 template <typename Stream>
144 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::SyncTimestampPayload const& v) const {
145 // packing member variables as an array.
146 o.pack_array(1);
147 o.pack(v.timestamp_source);
148 return o;
149 }
150};
151
152// MsgPack serialization for RECORD type:
153// dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload
154template<>
155struct convert<dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload> {
156 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload& v) const {
157 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
158 if (o.via.array.size != 1) throw msgpack::type_error();
159 v.endpoint_id = o.via.array.ptr[0].as<dunedaq::timinglibs::timingcmd::UintData>();
160 return o;
161 }
162};
163template<>
164struct pack<dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload> {
165 template <typename Stream>
166 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingEndpointCmdPayload const& v) const {
167 // packing member variables as an array.
168 o.pack_array(1);
169 o.pack(v.endpoint_id);
170 return o;
171 }
172};
173
174// MsgPack serialization for RECORD type:
175// dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload
176template<>
177struct convert<dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload> {
178 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload& v) const {
179 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
180 if (o.via.array.size != 3) throw msgpack::type_error();
181 v.endpoint_id = o.via.array.ptr[0].as<dunedaq::timinglibs::timingcmd::UintData>();
182 v.address = o.via.array.ptr[1].as<dunedaq::timinglibs::timingcmd::UintData>();
183 v.partition = o.via.array.ptr[2].as<dunedaq::timinglibs::timingcmd::UintData>();
184 return o;
185 }
186};
187template<>
188struct pack<dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload> {
189 template <typename Stream>
190 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingEndpointConfigureCmdPayload const& v) const {
191 // packing member variables as an array.
192 o.pack_array(3);
193 o.pack(v.endpoint_id);
194 o.pack(v.address);
195 o.pack(v.partition);
196 return o;
197 }
198};
199
200// MsgPack serialization for RECORD type:
201// dunedaq::timinglibs::timingcmd::TimingHwCmd
202template<>
203struct convert<dunedaq::timinglibs::timingcmd::TimingHwCmd> {
204 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingHwCmd& v) const {
205 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
206 if (o.via.array.size != 3) throw msgpack::type_error();
207 v.id = o.via.array.ptr[0].as<dunedaq::timinglibs::timingcmd::TimingHwCmdId>();
208 v.device = o.via.array.ptr[1].as<dunedaq::timinglibs::timingcmd::String>();
210 return o;
211 }
212};
213template<>
214struct pack<dunedaq::timinglibs::timingcmd::TimingHwCmd> {
215 template <typename Stream>
216 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingHwCmd const& v) const {
217 // packing member variables as an array.
218 o.pack_array(3);
219 o.pack(v.id);
220 o.pack(v.device);
221 o.pack(v.payload);
222 return o;
223 }
224};
225
226// MsgPack serialization for RECORD type:
227// dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload
228template<>
229struct convert<dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload> {
230 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload& v) const {
231 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
232 if (o.via.array.size != 1) throw msgpack::type_error();
234 return o;
235 }
236};
237template<>
238struct pack<dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload> {
239 template <typename Stream>
240 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingMasterEndpointScanPayload const& v) const {
241 // packing member variables as an array.
242 o.pack_array(1);
243 o.pack(v.endpoints);
244 return o;
245 }
246};
247
248// MsgPack serialization for RECORD type:
249// dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload
250template<>
251struct convert<dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload> {
252 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload& v) const {
253 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
254 if (o.via.array.size != 3) throw msgpack::type_error();
255 v.fl_cmd_id = o.via.array.ptr[0].as<dunedaq::timinglibs::timingcmd::UintData>();
256 v.channel = o.via.array.ptr[1].as<dunedaq::timinglibs::timingcmd::UintData>();
258 return o;
259 }
260};
261template<>
262struct pack<dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload> {
263 template <typename Stream>
264 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingMasterSendFLCmdCmdPayload const& v) const {
265 // packing member variables as an array.
266 o.pack_array(3);
267 o.pack(v.fl_cmd_id);
268 o.pack(v.channel);
270 return o;
271 }
272};
273
274// MsgPack serialization for RECORD type:
275// dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload
276template<>
277struct convert<dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload> {
278 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload& v) const {
279 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
280 if (o.via.array.size != 7) throw msgpack::type_error();
281 v.address = o.via.array.ptr[0].as<dunedaq::timinglibs::timingcmd::UintData>();
282 v.coarse_delay = o.via.array.ptr[1].as<dunedaq::timinglibs::timingcmd::UintData>();
283 v.fine_delay = o.via.array.ptr[2].as<dunedaq::timinglibs::timingcmd::UintData>();
284 v.phase_delay = o.via.array.ptr[3].as<dunedaq::timinglibs::timingcmd::UintData>();
285 v.measure_rtt = o.via.array.ptr[4].as<dunedaq::timinglibs::timingcmd::BoolData>();
286 v.control_sfp = o.via.array.ptr[5].as<dunedaq::timinglibs::timingcmd::BoolData>();
287 v.sfp_mux = o.via.array.ptr[6].as<dunedaq::timinglibs::timingcmd::IntData>();
288 return o;
289 }
290};
291template<>
292struct pack<dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload> {
293 template <typename Stream>
294 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingMasterSetEndpointDelayCmdPayload const& v) const {
295 // packing member variables as an array.
296 o.pack_array(7);
297 o.pack(v.address);
298 o.pack(v.coarse_delay);
299 o.pack(v.fine_delay);
300 o.pack(v.phase_delay);
301 o.pack(v.measure_rtt);
302 o.pack(v.control_sfp);
303 o.pack(v.sfp_mux);
304 return o;
305 }
306};
307
308// MsgPack serialization for RECORD type:
309// dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload
310template<>
311struct convert<dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload> {
312 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload& v) const {
313 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
314 if (o.via.array.size != 1) throw msgpack::type_error();
315 v.partition_id = o.via.array.ptr[0].as<dunedaq::timinglibs::timingcmd::UintData>();
316 return o;
317 }
318};
319template<>
320struct pack<dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload> {
321 template <typename Stream>
322 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingPartitionCmdPayload const& v) const {
323 // packing member variables as an array.
324 o.pack_array(1);
325 o.pack(v.partition_id);
326 return o;
327 }
328};
329
330// MsgPack serialization for RECORD type:
331// dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload
332template<>
333struct convert<dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload> {
334 msgpack::object const& operator()(msgpack::object const& o, dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload& v) const {
335 if (o.type != msgpack::type::ARRAY) throw msgpack::type_error();
336 if (o.via.array.size != 4) throw msgpack::type_error();
337 v.partition_id = o.via.array.ptr[0].as<dunedaq::timinglibs::timingcmd::UintData>();
338 v.trigger_mask = o.via.array.ptr[1].as<dunedaq::timinglibs::timingcmd::UintData>();
341 return o;
342 }
343};
344template<>
345struct pack<dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload> {
346 template <typename Stream>
347 packer<Stream>& operator()(msgpack::packer<Stream>& o, dunedaq::timinglibs::timingcmd::TimingPartitionConfigureCmdPayload const& v) const {
348 // packing member variables as an array.
349 o.pack_array(4);
350 o.pack(v.partition_id);
351 o.pack(v.trigger_mask);
352 o.pack(v.spill_gate_enabled);
353 o.pack(v.rate_control_enabled);
354 return o;
355 }
356};
357
358
359} // namespace adaptor
360} // MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS)
361} // namespace msgpack
362
363#endif // DUNEDAQ_TIMINGLIBS_TIMINGCMD_MSGPACK_HPP
std::vector< dunedaq::timinglibs::timingcmd::EndpointLocation > TimingEndpointLocations
Definition Structs.hpp:115
nlohmann::json TimingHwCmdPayload
Definition Structs.hpp:121
Including Qt Headers.
MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS)