9#ifndef DFMESSAGES_INCLUDE_DFMESSAGES_TRIGGERRECORD_SERIALIZATION_HPP_
10#define DFMESSAGES_INCLUDE_DFMESSAGES_TRIGGERRECORD_SERIALIZATION_HPP_
25 CannotDeserializeTriggerRecord,
26 "Cannot deserialize TriggerRecord from JSON due to type mismatch", )
38 struct pack<
dunedaq::daqdataformats::TriggerRecord>
40 template<
typename Stream>
46 o.pack_array(1 + frags.size());
48 for (
auto& fragptr : frags) {
59 struct as<
dunedaq::daqdataformats::TriggerRecord>
65 for (
size_t ii = 1; ii < o.via.array.size; ++ii) {
66 auto fragptr = o.via.array.ptr[ii].as<std::unique_ptr<dunedaq::daqdataformats::Fragment>>();
75 struct pack<
std::unique_ptr<dunedaq::daqdataformats::TriggerRecord>>
77 template<
typename Stream>
78 packer<Stream>& operator()(msgpack::packer<Stream>& o,
79 std::unique_ptr<dunedaq::daqdataformats::TriggerRecord>
const& tr)
const
81 auto& trh = tr->get_header_ref();
82 auto& frags = tr->get_fragments_ref();
84 o.pack_array(1 + frags.size());
86 for (
auto& fragptr : frags) {
97 struct as<
std::unique_ptr<dunedaq::daqdataformats::TriggerRecord>>
99 std::unique_ptr<dunedaq::daqdataformats::TriggerRecord> operator()(msgpack::object
const& o)
const
101 auto tr = std::make_unique<dunedaq::daqdataformats::TriggerRecord>(
104 for (
size_t ii = 1; ii < o.via.array.size; ++ii) {
105 auto fragptr = o.via.array.ptr[ii].as<std::unique_ptr<dunedaq::daqdataformats::Fragment>>();
106 tr->add_fragment(std::move(fragptr));
#define ERS_DECLARE_ISSUE(namespace_name, class_name, message, attributes)
#define DUNE_DAQ_SERIALIZABLE(Type, typestring)
MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS)