@@ -38,9 +38,9 @@ namespace dunedaq::confmodel::python {
3838
3939
4040 std::vector<ObjectLocator>
41- session_get_all_applications (const Configuration& db,
41+ session_get_all_applications (Configuration& db,
4242 const std::string& session_name) {
43- auto session=const_cast <Configuration&>(db) .get <Session>(session_name);
43+ auto session=db .get <Session>(session_name);
4444 std::vector<ObjectLocator> apps;
4545 for (auto app : session->all_applications ()) {
4646 apps.push_back ({app->UID (),app->class_name ()});
@@ -49,33 +49,33 @@ namespace dunedaq::confmodel::python {
4949 }
5050
5151 std::vector<ObjectLocator>
52- session_get_enabled_applications (const Configuration& db,
52+ session_get_enabled_applications (Configuration& db,
5353 const std::string& session_name) {
54- auto session=const_cast <Configuration&>(db) .get <Session>(session_name);
54+ auto session=db .get <Session>(session_name);
5555 std::vector<ObjectLocator> apps;
5656 for (auto app : session->enabled_applications ()) {
5757 apps.push_back ({app->UID (),app->class_name ()});
5858 }
5959 return apps;
6060 }
6161
62- bool component_disabled (const Configuration& db,
62+ bool component_disabled (Configuration& db,
6363 const std::string& session_id,
6464 const std::string& component_id) {
65- const dunedaq::confmodel::Session* session_ptr = const_cast <Configuration&>(db) .get <dunedaq::confmodel::Session>(session_id);
66- const dunedaq::confmodel::Resource* component_ptr = const_cast <Configuration&>(db) .get <dunedaq::confmodel::Resource>(component_id);
65+ const dunedaq::confmodel::Session* session_ptr = db .get <dunedaq::confmodel::Session>(session_id);
66+ const dunedaq::confmodel::Resource* component_ptr = db .get <dunedaq::confmodel::Resource>(component_id);
6767 if (component_ptr == nullptr ) {
6868 return false ;
6969 }
7070 return component_ptr->is_disabled (*session_ptr);
7171 }
7272
7373
74- std::vector<std::vector<ObjectLocator>> component_get_parents (const Configuration& db,
74+ std::vector<std::vector<ObjectLocator>> component_get_parents (Configuration& db,
7575 const std::string& session_id,
7676 const std::string& component_id) {
77- const dunedaq::confmodel::Session* session_ptr = const_cast <Configuration&>(db) .get <dunedaq::confmodel::Session>(session_id);
78- const dunedaq::confmodel::Resource* component_ptr = const_cast <Configuration&>(db) .get <dunedaq::confmodel::Resource>(component_id);
77+ const dunedaq::confmodel::Session* session_ptr = db .get <dunedaq::confmodel::Session>(session_id);
78+ const dunedaq::confmodel::Resource* component_ptr = db .get <dunedaq::confmodel::Resource>(component_id);
7979
8080 std::list<std::vector<const dunedaq::confmodel::Resource*>> parents;
8181 std::vector<std::vector<ObjectLocator>> parent_ids;
@@ -94,20 +94,20 @@ namespace dunedaq::confmodel::python {
9494 return parent_ids;
9595 }
9696
97- std::vector<std::string> daq_application_get_used_hostresources (const Configuration& db, const std::string& app_id) {
98- auto app = const_cast <Configuration&>(db) .get <dunedaq::confmodel::DaqApplication>(app_id);
97+ std::vector<std::string> daq_application_get_used_hostresources (Configuration& db, const std::string& app_id) {
98+ auto app = db .get <dunedaq::confmodel::DaqApplication>(app_id);
9999 std::vector<std::string> resources;
100100 for (auto res : app->get_used_hostresources ()) {
101101 resources.push_back (res->UID ());
102102 }
103103 return resources;
104104 }
105105
106- std::vector<std::string> daq_application_construct_commandline_parameters (const Configuration& db,
106+ std::vector<std::string> daq_application_construct_commandline_parameters (Configuration& db,
107107 const std::string& session_id,
108108 const std::string& app_id) {
109- const auto * app = const_cast <Configuration&>(db) .get <dunedaq::confmodel::DaqApplication>(app_id);
110- const auto * session = const_cast <Configuration&>(db) .get <dunedaq::confmodel::Session>(session_id);
109+ const auto * app = db .get <dunedaq::confmodel::DaqApplication>(app_id);
110+ const auto * session = db .get <dunedaq::confmodel::Session>(session_id);
111111 return app->construct_commandline_parameters (db, session);
112112 }
113113
@@ -120,21 +120,19 @@ namespace dunedaq::confmodel::python {
120120 }
121121
122122
123- std::string d2d_receiver (const Configuration& db,
123+ std::string d2d_receiver (Configuration& db,
124124 const std::string& d2d_id) {
125- const auto * d2d = const_cast <Configuration&>(db)
126- .get <dunedaq::confmodel::DetectorToDaqConnection>(d2d_id);
125+ const auto * d2d = db.get <dunedaq::confmodel::DetectorToDaqConnection>(d2d_id);
127126 if (d2d == nullptr ) {
128127 return " " ;
129128 }
130129 return d2d->receiver ()->UID ();
131130 }
132131
133- std::vector<std::string> d2d_senders (const Configuration& db,
132+ std::vector<std::string> d2d_senders (Configuration& db,
134133 const std::string& d2d_id) {
135134 std::vector<std::string> senders;
136- const auto * d2d = const_cast <Configuration&>(db)
137- .get <dunedaq::confmodel::DetectorToDaqConnection>(d2d_id);
135+ const auto * d2d = db.get <dunedaq::confmodel::DetectorToDaqConnection>(d2d_id);
138136 if (d2d != nullptr ) {
139137 for (auto sender: d2d->senders ()) {
140138 senders.push_back (sender->UID ());
@@ -143,11 +141,10 @@ namespace dunedaq::confmodel::python {
143141 return senders;
144142 }
145143
146- std::vector<std::string> d2d_streams (const Configuration& db,
144+ std::vector<std::string> d2d_streams (Configuration& db,
147145 const std::string& d2d_id) {
148146 std::vector<std::string> streams;
149- const auto * d2d = const_cast <Configuration&>(db)
150- .get <dunedaq::confmodel::DetectorToDaqConnection>(d2d_id);
147+ const auto * d2d = db.get <dunedaq::confmodel::DetectorToDaqConnection>(d2d_id);
151148 if (d2d != nullptr ) {
152149 for (auto stream: d2d->streams ()) {
153150 streams.push_back (stream->UID ());
@@ -156,6 +153,19 @@ namespace dunedaq::confmodel::python {
156153 return streams;
157154 }
158155
156+ std::vector<std::string>
157+ resourceset_contains (Configuration& db,
158+ const std::string& res_id) {
159+ std::vector<std::string> resources;
160+ auto res_set = db.get <dunedaq::confmodel::ResourceSet>(res_id);
161+ if (res_set != nullptr ) {
162+ for (auto res: res_set->contained_resources ()) {
163+ resources.push_back (res->UID ());
164+ }
165+ }
166+ return resources;
167+ }
168+
159169
160170void
161171register_dal_methods (py::module & m)
@@ -178,6 +188,7 @@ register_dal_methods(py::module& m)
178188 m.def (" d2d_receiver" , &d2d_receiver, " Get receiver associated with DetectorToDaqConnection" );
179189 m.def (" d2d_senders" , &d2d_senders, " Get senders associated with DetectorToDaqConnection" );
180190 m.def (" d2d_streams" , &d2d_streams, " Get streams associated with DetectorToDaqConnection" );
191+ m.def (" resourceset_contains" , &resourceset_contains, " Get contained Resources from ResourceSet" );
181192}
182193
183194} // namespace dunedaq::confmodel::python
0 commit comments