DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
SubscriptionCriteria.hpp
Go to the documentation of this file.
1//
2// DUNE DAQ modification notice:
3// This file has been modified from the original ATLAS config source for the DUNE DAQ project.
4// Fork baseline commit: 67a24e731 (2022-10-27).
5// Renamed since fork: yes (from config/SubscriptionCriteria.h to include/conffwk/SubscriptionCriteria.hpp).
6//
7
14
15#ifndef CONFFWK_SUBSCRIPTION__CRITERIA_H_
16#define CONFFWK_SUBSCRIPTION__CRITERIA_H_
17
18#include <iostream>
19#include <map>
20#include <set>
21#include <string>
22
23namespace dunedaq {
24namespace conffwk {
25
26class DalObject;
27
41
43{
44
45public:
56
57 void add(const std::string& class_name);
58
67
68 void add(const std::string& class_name, const std::string& object_id);
69
78
79 void add(const DalObject& object);
80
89
90 void remove(const std::string& class_name);
91
101
102 void remove(const std::string& class_name, const std::string& object_id);
103
113
114 void remove(const DalObject& object);
115
116public:
118
119 typedef std::map<std::string, std::set<std::string>> ObjectMap;
120
121public:
125
126 const std::set<std::string>& get_classes_subscription() const { return m_classes_subscription; }
127
131
133
134private:
135 std::set<std::string> m_classes_subscription;
137};
138
140
141std::ostream&
142operator<<(std::ostream&, const ConfigurationSubscriptionCriteria&);
143
144} // namespace conffwk
145} // namespace dunedaq
146
147#endif
void add(const std::string &class_name)
Add subscribtion on class changes.
std::map< std::string, std::set< std::string > > ObjectMap
The map stores full subsription information.
const std::set< std::string > & get_classes_subscription() const
void remove(const std::string &class_name)
Remove subscribtion on class changes.
The base class for any generated DAL object.
Definition DalObject.hpp:51
std::ostream & operator<<(std::ostream &, const ConfigurationChange &)
The DUNE-DAQ namespace.