DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
VirtualHost.hpp
Go to the documentation of this file.
1// *** this file is generated by oksdalgen, do not modify it ***
2
3#ifndef _VirtualHost_0_dunedaq__confmodel_0_confmodel_H_
4#define _VirtualHost_0_dunedaq__confmodel_0_confmodel_H_
5
6#include <stdint.h> // to define 64 bits types
7#include <iostream>
8#include <sstream>
9#include <string>
10#include <map>
11#include <vector>
12
14#include "conffwk/DalObject.hpp"
15
16
17 // forward declaration for classes used in relationships and algorithms
18
19namespace dunedaq {
20 namespace confmodel {
21 class HostComponent;
22 class PhysicalHost;
23 }
24}
25
26
27namespace dunedaq {
28 namespace confmodel {
29
31
32 friend class conffwk::Configuration;
33 friend class conffwk::DalObject;
34 friend class conffwk::DalFactory;
35 friend class conffwk::DalRegistry;
36
37 protected:
38
40 virtual ~VirtualHost() noexcept;
41 virtual void init(bool init_children);
42
43 public:
44
47 static const std::string& s_class_name;
48
49
59 virtual void print(unsigned int offset, bool print_header, std::ostream& s) const;
60
61
71 virtual std::vector<const dunedaq::conffwk::DalObject *> get(const std::string& name, bool upcast_unregistered = true) const;
72
73
74 protected:
75
76 bool get(const std::string& name, std::vector<const dunedaq::conffwk::DalObject *>& vec, bool upcast_unregistered, bool first_call) const;
77
78
79 private:
80
81 std::vector<const dunedaq::confmodel::HostComponent*> m_uses;
83
84
85 public:
86
87 // relationship names
88
89 inline static const std::string s_uses = "uses";
90 inline static const std::string s_runs_on = "runs_on";
91
92 static const std::string& __get_uses_str() noexcept { return s_uses; }
93 static const std::string& __get_runs_on_str() noexcept { return s_runs_on; }
94
95
103 const std::vector<const dunedaq::confmodel::HostComponent*>&
104 get_uses() const
105 {
106 std::lock_guard scoped_lock(m_mutex);
107 check();
108 check_init();
109 if (m_uses.empty())
110 {
111 std::ostringstream text;
112 text << "relationship \"" << s_uses << "\" of object " << this << " is empty";
113 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
114 }
115 return m_uses;
116 }
117
118
126 void
127 set_uses(const std::vector<const dunedaq::confmodel::HostComponent*>& value);
128
138 {
139 std::lock_guard scoped_lock(m_mutex);
140 check();
141 check_init();
142 if (!m_runs_on)
143 {
144 std::ostringstream text;
145 text << "relationship \"" << s_runs_on << "\" of object " << this << " is not set";
146 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
147 }
148 return m_runs_on;
149 }
150
151
159 void
161
162 };
163
164 // out stream operator
165
166 inline std::ostream& operator<<(std::ostream& s, const VirtualHost& obj)
167 {
168 return obj.print_object(s);
169 }
170
171 typedef std::vector<const VirtualHost*>::const_iterator VirtualHostIterator;
172
173 }
174}
175
176#endif
#define ERS_HERE
The base class for any generated DAL object.
Definition DalObject.hpp:45
std::mutex m_mutex
Used to protect changes of DAL object.
void check_init() const
Check and initialize object if necessary.
DalRegistry: A registry of DalObjects It provides a single interface to create, cache and manage DalO...
Generic configuration exception.
virtual std::vector< const dunedaq::conffwk::DalObject * > get(const std::string &name, bool upcast_unregistered=true) const
Get values of relationships and results of some algorithms as a vector of dunedaq::conffwk::DalObject...
static const std::string & __get_runs_on_str() noexcept
virtual ~VirtualHost() noexcept
static const std::string s_uses
const dunedaq::confmodel::PhysicalHost * get_runs_on() const
Get "runs_on" relationship value. The physical host that this virtual host runs on.
const dunedaq::confmodel::PhysicalHost * m_runs_on
friend class conffwk::DalFactory
virtual void init(bool init_children)
VirtualHost(conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
std::vector< const dunedaq::confmodel::HostComponent * > m_uses
static const std::string & __get_uses_str() noexcept
static const std::string & s_class_name
friend class conffwk::DalObject
const std::vector< const dunedaq::confmodel::HostComponent * > & get_uses() const
Get "uses" relationship value. Hardware resources required by this virtual host.
static const std::string s_runs_on
void set_runs_on(const dunedaq::confmodel::PhysicalHost *value)
Set "runs_on" relationship value. The physical host that this virtual host runs on.
void set_uses(const std::vector< const dunedaq::confmodel::HostComponent * > &value)
Set "uses" relationship value. Hardware resources required by this virtual host.
conffwk entry point
double offset
std::vector< constVirtualHost * >::const_iterator VirtualHostIterator
std::ostream & operator<<(std::ostream &s, const ActionPlan &obj)
Including Qt Headers.