DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
class.hpp
Go to the documentation of this file.
1
10#ifndef OKS_CLASS_H
11#define OKS_CLASS_H
12
13#include "oks/index.hpp"
14#include "oks/exceptions.hpp"
15
16#include <list>
17#include <map>
18#include <mutex>
19#include <shared_mutex>
20#include <string>
21#include <vector>
22
23#include <boost/pool/pool_alloc.hpp>
24
25namespace dunedaq {
26namespace oks {
27
28 // Forward declarations
29
30class OksAttribute;
31class OksClass;
32class OksFile;
33class OksKernel;
34class OksMethod;
35class OksQuery;
36class OksQueryExpression;
37class OksRelationship;
38class OksXmlInputStream;
39class OksXmlOutputStream;
40
41
42
44
48
49 public:
50
51 CannotFindSuperClass(const OksClass& c, const std::string& name) noexcept : exception (fill(c, name), 0) { }
52 virtual ~CannotFindSuperClass() noexcept { }
53
54 private:
55
56 static std::string fill(const OksClass& c, const std::string& name) noexcept;
57
58 };
59
63
64 public:
65
66 AttributeConversionFailed(const OksAttribute& a, const OksObject * o, const exception& reason) noexcept : exception (fill(a, o, reason.what()), reason.level() + 1) { }
67 virtual ~AttributeConversionFailed() noexcept { }
68
69 private:
70
71 static std::string fill(const OksAttribute& a, const OksObject * o, const std::string& reason) noexcept;
72
73 };
74
78
79 public:
80
81 CannotRegisterClass(const OksClass& c, const std::string& what, const exception& reason) noexcept : exception (fill(c, what, reason.what()), reason.level() + 1) { }
82 CannotRegisterClass(const OksClass& c, const std::string& what, const std::string& reason) noexcept : exception (fill(c, what, reason), 0) {}
83 virtual ~CannotRegisterClass() noexcept { }
84
85 private:
86
87 static std::string fill(const OksClass& c, const std::string& what, const std::string& reason) noexcept;
88
89 };
90
91
95
96 public:
97
98 CannotDestroyClass(const OksClass& c, const exception& reason) noexcept : exception (fill(c, reason.what()), reason.level() + 1) { }
99 CannotDestroyClass(const OksClass& c, const std::string& reason) noexcept : exception (fill(c, reason), 0) {}
100 virtual ~CannotDestroyClass() noexcept { }
101
102 private:
103
104 static std::string fill(const OksClass& c, const std::string& reason) noexcept;
105
106 };
107
108
112
113 public:
114
115 ObjectOperationFailed(const OksClass& c, const std::string& oid, const char * op, const exception& reason) noexcept : exception (fill(c, oid, op, reason.what()), reason.level() + 1) { }
116 ObjectOperationFailed(const OksClass& c, const std::string& oid, const char * op, const std::string& reason) noexcept : exception (fill(c, oid, op, reason), 0) {}
117 virtual ~ObjectOperationFailed() noexcept { }
118
119 private:
120
121 static std::string fill(const OksClass& c, const std::string& oid, const char * op, const std::string& reason) noexcept;
122
123 };
124
125
129
130 public:
131
132 SetOperationFailed(const char * op, const exception& reason) noexcept : exception (fill(op, reason.what()), reason.level() + 1) { }
133 SetOperationFailed(const char * op, const std::string& reason) noexcept : exception (fill(op, reason), 0) {}
134 virtual ~SetOperationFailed() noexcept { }
135
136 private:
137
138 static std::string fill(const char * op, const std::string& reason) noexcept;
139
140 };
141
142
145 class QueryFailed: public exception {
146
147 public:
148
149 QueryFailed(const OksQueryExpression& query, const OksClass& c, const exception& reason) noexcept : exception (fill(query, c, reason.what()), reason.level() + 1) { }
150 QueryFailed(const OksQueryExpression& query, const OksClass& c, const std::string& reason) noexcept : exception (fill(query, c, reason), 0) {}
151 virtual ~QueryFailed() noexcept { }
152
153 private:
154
155 static std::string fill(const OksQueryExpression& query, const OksClass& c, const std::string& reason) noexcept;
156
157 };
158
159
162 class BadReqExp: public exception {
163
164 public:
165
166 BadReqExp(const std::string& what, const std::string& reason) noexcept : exception (fill(what, reason), 0) {}
167 virtual ~BadReqExp() noexcept { }
168
169 private:
170
171 static std::string fill(const std::string& what, const std::string& reason) noexcept;
172
173 };
174
175
200{
201 friend class OksObject;
202 friend class OksKernel;
203 friend class OksAttribute;
204 friend class OksRelationship;
205 friend class OksMethod;
207 friend class OksIndex;
208 friend class OksSortedClass;
209
210 public:
211
212#ifndef ERS_NO_DEBUG
213
214 // Declare set of pointers to OksClass sorted by name
215
216 struct SortByName {
217 bool operator() (OksClass * c1, OksClass * c2) const {
218 return c1->get_name() < c2->get_name();
219 }
220 };
221
222 typedef std::set<OksClass *, SortByName> Set;
223
224#endif
225
226 struct SortStr {
227 bool operator() (const char * c1, const char * c2) const {
228 return (strcmp(c1, c2) < 0);
229 }
230 };
231
232
233 typedef std::map<const char * , OksClass *, SortStr> Map;
234
235 typedef std::list<OksClass *, boost::fast_pool_allocator<OksClass *> > FList;
236
237
247 OksClass (const std::string& name, OksKernel * kernel, bool transient = false);
248
249
261 OksClass (const std::string& name, const std::string& description, bool is_abstract, OksKernel * kernel, bool transient = false);
262
263
274 OksClass (OksKernel * kernel, const std::string& name, const std::string& description, bool is_abstract);
275
276
288 static void destroy(OksClass * c);
289
290
297 bool operator==(const OksClass &) const;
298
306 bool operator!=(const OksClass &) const;
307
317 friend std::ostream& operator<<(std::ostream&, const OksClass&);
318
319 friend std::ostream& operator<<(std::ostream&, const OksObject&);
320
321
324 bool compare_without_methods(const OksClass & c) const noexcept ;
325
326
327 // methods to access class external information
328
329 public:
330
333 OksKernel * get_kernel() const noexcept {return p_kernel;}
334
335
338 OksFile * get_file() const noexcept {return p_file;}
339
340
354 void set_file(OksFile * f, bool update_owner = true);
355
356
357 // methods to access class properties
358
359 public:
360
363 const std::string& get_name() const noexcept {return p_name;}
364
365
368 const std::string& get_description() const noexcept {return p_description;}
369
370
379 void set_description(const std::string& description);
380
381
384 bool get_is_abstract() const noexcept {return p_abstract;}
385
386
399 void set_is_abstract(bool abstract);
400
401
402 // methods to access class hierarchy description
403
404 public:
405
408 const FList * all_super_classes() const noexcept {return p_all_super_classes;}
409
410
413 const std::list<std::string *> * direct_super_classes() const noexcept {return p_super_classes;}
414
415
418 OksClass * find_super_class(const std::string&) const noexcept;
419
420
423 bool has_direct_super_class(const std::string&) const noexcept;
424
425
432 void add_super_class(const std::string& name);
433
434
437 void k_add_super_class(const std::string& name);
438
439
446 void remove_super_class(const std::string& name);
447
448
461 void swap_super_classes(const std::string& c1, const std::string& c2);
462
463
466 const FList * all_sub_classes() const noexcept {return p_all_sub_classes;}
467
468
469 // methods to access class attributes description
470
471 public:
472
475 const std::list<OksAttribute *> * all_attributes() const noexcept {return p_all_attributes;}
476
477
480 const std::list<OksAttribute *> * direct_attributes() const noexcept {return p_attributes;}
481
482
492 OksAttribute * find_attribute(const std::string& name) const noexcept;
493
494
504 OksAttribute * find_direct_attribute(const std::string& name) const noexcept;
505
506
518 void add(OksAttribute * a);
519
520
526 void k_add(OksAttribute * a);
527
528
540 void remove(const OksAttribute * a);
541
542
555 void swap(const OksAttribute * a1, const OksAttribute * a2);
556
557
560 size_t number_of_direct_attributes() const noexcept;
561
562
565 size_t number_of_all_attributes() const noexcept;
566
567
577 OksClass * source_class(const OksAttribute * a) const noexcept;
578
579
580 // methods to access class relationships description
581
582
585 const std::list<OksRelationship *> * all_relationships() const noexcept {return p_all_relationships;}
586
587
590 const std::list<OksRelationship *> * direct_relationships() const noexcept {return p_relationships;}
591
592
602 OksRelationship * find_relationship(const std::string& name) const noexcept;
603
604
614 OksRelationship * find_direct_relationship(const std::string& name) const noexcept;
615
616
628 void add(OksRelationship * r);
629
630
636 void k_add(OksRelationship * r);
637
638
651 void remove(const OksRelationship * r, bool call_delete = true);
652
653
666 void swap(const OksRelationship * r1, const OksRelationship * r2);
667
668
671 size_t number_of_direct_relationships() const noexcept;
672
673
676 size_t number_of_all_relationships() const noexcept;
677
678
688 OksClass * source_class(const OksRelationship * r) const noexcept;
689
690
691 // methods to access class methods description
692
693
694
697 const std::list<OksMethod *> * all_methods() const noexcept {return p_all_methods;}
698
699
702 const std::list<OksMethod *> * direct_methods() const noexcept {return p_methods;}
703
704
714 OksMethod * find_method(const std::string& name) const noexcept;
715
716
726 OksMethod * find_direct_method(const std::string& name) const noexcept;
727
728
740 void add(OksMethod * m);
741
742
754 void remove(const OksMethod * m);
755
756
769 void swap(const OksMethod * m1, const OksMethod * m2);
770
771
774 size_t number_of_direct_methods() const noexcept;
775
776
779 size_t number_of_all_methods() const noexcept;
780
781
791 OksClass * source_class(const OksMethod * m) const noexcept;
792
793
794 // methods to access class instances
795
796
799 size_t number_of_objects() const noexcept;
800
801
804 const OksObject::Map * objects() const noexcept {return p_objects;}
805
806
816 std::list<OksObject *> * create_list_of_all_objects() const noexcept;
817
818
827 OksObject * get_object(const std::string& id) const noexcept;
828
829
832 OksObject * get_object(const std::string* id) const noexcept {return get_object(*id);}
833
834
847 OksObject::List * execute_query(OksQuery * query) const;
848
849
860 OksDataInfo * data_info(const std::string &s) const noexcept {return p_data_info->find(s)->second;}
861
862
874 get_data_info(const std::string &s) const noexcept
875 {
876 auto it = p_data_info->find(s);
877 return (it != p_data_info->end() ? it->second : nullptr);
878 }
879
880
919
920
923 typedef void (*NotifyFN)(OksClass *);
924
925
928 typedef void (*ChangeNotifyFN)(OksClass *, ChangeType, const void *);
929
930
931 private:
932
933 std::string p_name;
934 std::string p_description;
935 std::list<std::string *> * p_super_classes;
936 std::list<OksAttribute *> * p_attributes;
937 std::list<OksRelationship *> * p_relationships;
938 std::list<OksMethod *> * p_methods;
942
945 std::list<OksAttribute *> * p_all_attributes;
946 std::list<OksRelationship *> * p_all_relationships;
947 std::list<OksMethod *> * p_all_methods;
948
949 std::vector<OksClass *> * p_inheritance_hierarchy;
950 unsigned int p_id;
951
954
956
960
961 mutable std::shared_mutex p_mutex;
962 mutable std::mutex p_unique_id_mutex;
963
964
965
969
970
971
972 // to be used by OksKernel only
973
974 ~OksClass();
976
977 template<class T> static void destroy_map(T map);
978 template<class T> static void destroy_list(T list);
979
980 // transient class for OksKernel::find_class()
981
982 inline OksClass (const char * name, size_t len);
983
984 void save(OksXmlOutputStream &) const;
985
986 void add(OksObject *);
987 void remove(OksObject *);
988 void registrate_class(bool skip_registered);
989 void registrate_class_change(ChangeType, const void *, bool = true);
993
994 void add_super_classes(FList *) const;
996 void create_sub_classes();
997 void create_attributes();
999 void create_methods();
1000
1001 void lock_file(const char *);
1002
1003 bool check_relationships(std::ostringstream & out, bool print_file_name) const noexcept;
1004
1005
1006 // valid xml tags and attributes
1007
1008 static const char class_xml_tag[];
1009 static const char name_xml_attr[];
1010 static const char description_xml_attr[];
1011 static const char is_abstract_xml_attr[];
1012 static const char superclass_xml_attr[];
1013
1014};
1015
1016
1017 //
1018 // INLINE METHODS
1019 //
1020
1021inline bool
1023{
1024 return ((this == &c || p_name == c.p_name) ? true : false);
1025}
1026
1027
1028inline size_t
1030{
1031 return (p_attributes ? p_attributes->size() : 0);
1032}
1033
1034
1035inline size_t
1037{
1038 return (p_all_attributes ? p_all_attributes->size() : 0);
1039}
1040
1041
1042inline size_t
1044{
1045 return (p_relationships ? p_relationships->size() : 0);
1046}
1047
1048
1049inline size_t
1051{
1052 return (p_all_relationships ? p_all_relationships->size() : 0);
1053}
1054
1055
1056inline size_t
1058{
1059 return (p_methods ? p_methods->size() : 0);
1060}
1061
1062
1063inline size_t
1065{
1066 return (p_all_methods ? p_all_methods->size() : 0);
1067}
1068
1069inline
1070OksClass::OksClass (const char * name, size_t len) :
1071 p_name (name, len),
1072 p_super_classes (0),
1073 p_attributes (0),
1074 p_relationships (0),
1075 p_methods (0),
1076 p_abstract (false),
1077 p_transient (true),
1078 p_to_be_deleted (false),
1079 p_all_super_classes (0),
1080 p_all_sub_classes (0),
1081 p_all_attributes (0),
1082 p_all_relationships (0),
1083 p_all_methods (0),
1084 p_inheritance_hierarchy (0),
1085 p_kernel (0),
1086 p_instance_size (0),
1087 p_data_info (0),
1088 p_objects (0),
1089 p_indices (0)
1090{ ; }
1091
1092} // namespace oks
1093} // namespace dunedaq
1094#endif
static std::string fill(const OksAttribute &a, const OksObject *o, const std::string &reason) noexcept
Definition class.cpp:43
AttributeConversionFailed(const OksAttribute &a, const OksObject *o, const exception &reason) noexcept
Definition class.hpp:66
virtual ~AttributeConversionFailed() noexcept
Definition class.hpp:67
BadReqExp(const std::string &what, const std::string &reason) noexcept
Definition class.hpp:166
virtual ~BadReqExp() noexcept
Definition class.hpp:167
static std::string fill(const std::string &what, const std::string &reason) noexcept
Definition query.cpp:45
CannotDestroyClass(const OksClass &c, const exception &reason) noexcept
Definition class.hpp:98
CannotDestroyClass(const OksClass &c, const std::string &reason) noexcept
Definition class.hpp:99
static std::string fill(const OksClass &c, const std::string &reason) noexcept
Definition class.cpp:57
virtual ~CannotDestroyClass() noexcept
Definition class.hpp:100
static std::string fill(const OksClass &c, const std::string &name) noexcept
Definition class.cpp:37
virtual ~CannotFindSuperClass() noexcept
Definition class.hpp:52
CannotFindSuperClass(const OksClass &c, const std::string &name) noexcept
Definition class.hpp:51
virtual ~CannotRegisterClass() noexcept
Definition class.hpp:83
static std::string fill(const OksClass &c, const std::string &what, const std::string &reason) noexcept
Definition class.cpp:51
CannotRegisterClass(const OksClass &c, const std::string &what, const std::string &reason) noexcept
Definition class.hpp:82
CannotRegisterClass(const OksClass &c, const std::string &what, const exception &reason) noexcept
Definition class.hpp:81
static std::string fill(const OksClass &c, const std::string &oid, const char *op, const std::string &reason) noexcept
Definition class.cpp:63
ObjectOperationFailed(const OksClass &c, const std::string &oid, const char *op, const std::string &reason) noexcept
Definition class.hpp:116
ObjectOperationFailed(const OksClass &c, const std::string &oid, const char *op, const exception &reason) noexcept
Definition class.hpp:115
virtual ~ObjectOperationFailed() noexcept
Definition class.hpp:117
OKS attribute class.
The OKS class.
Definition class.hpp:200
OksKernel * p_kernel
Definition class.hpp:953
bool get_is_abstract() const noexcept
Definition class.hpp:384
const OksObject::Map * objects() const noexcept
Definition class.hpp:804
OksDataInfo * get_data_info(const std::string &s) const noexcept
Get OKS data information for attribute or relationship.
Definition class.hpp:874
const FList * all_sub_classes() const noexcept
Definition class.hpp:466
OksRelationship * find_direct_relationship(const std::string &name) const noexcept
Find direct relationship.
Definition class.cpp:1173
std::list< std::string * > * p_super_classes
Definition class.hpp:935
bool operator==(const OksClass &) const
The equality operator.
Definition class.hpp:1022
size_t number_of_objects() const noexcept
Definition class.cpp:1474
void set_file(OksFile *f, bool update_owner=true)
Move class to different file.
Definition class.cpp:286
bool check_relationships(std::ostringstream &out, bool print_file_name) const noexcept
Definition class.cpp:2119
std::set< OksClass *, SortByName > Set
Definition class.hpp:222
OksObject::Map * p_objects
Definition class.hpp:958
static const char superclass_xml_attr[]
Definition class.hpp:1012
OksClass * find_super_class(const std::string &) const noexcept
Definition class.cpp:742
OksAttribute * find_direct_attribute(const std::string &name) const noexcept
Find direct attribute.
Definition class.cpp:1014
void add_super_class(const std::string &name)
Definition class.cpp:878
unsigned int p_id
Definition class.hpp:950
size_t number_of_direct_attributes() const noexcept
Definition class.hpp:1029
static void destroy_list(T list)
Definition class.cpp:198
OksMethod * find_method(const std::string &name) const noexcept
Find method (search in this and base classes).
Definition class.cpp:1341
size_t number_of_direct_relationships() const noexcept
Definition class.hpp:1043
std::list< OksMethod * > * p_methods
Definition class.hpp:938
const std::list< OksMethod * > * all_methods() const noexcept
Definition class.hpp:697
void registrate_class(bool skip_registered)
Definition class.cpp:2004
size_t number_of_direct_methods() const noexcept
Definition class.hpp:1057
FList * p_all_sub_classes
Definition class.hpp:944
const std::list< OksAttribute * > * all_attributes() const noexcept
Definition class.hpp:475
std::list< OksRelationship * > * p_relationships
Definition class.hpp:937
void(*) ChangeNotifyFN(OksClass *, ChangeType, const void *)
Definition class.hpp:928
OksObject * get_object(const std::string *id) const noexcept
Definition class.hpp:832
static NotifyFN create_notify_fn
Definition class.hpp:966
void(*) NotifyFN(OksClass *)
Definition class.hpp:923
static void destroy_map(T map)
Definition class.cpp:211
std::list< OksAttribute * > * p_attributes
Definition class.hpp:936
void add_super_classes(FList *) const
Definition class.cpp:1575
friend class OksSortedClass
Definition class.hpp:208
std::string p_description
Definition class.hpp:934
std::list< OksRelationship * > * p_all_relationships
Definition class.hpp:946
static const char class_xml_tag[]
Definition class.hpp:1008
size_t number_of_all_methods() const noexcept
Definition class.hpp:1064
size_t number_of_all_relationships() const noexcept
Definition class.hpp:1050
bool operator!=(const OksClass &) const
The not equal operator.
Definition class.cpp:362
OksRelationship * find_relationship(const std::string &name) const noexcept
Find relationship (search in this and base classes).
Definition class.cpp:1184
std::mutex p_unique_id_mutex
Definition class.hpp:962
static const char description_xml_attr[]
Definition class.hpp:1010
std::list< OksMethod * > * p_all_methods
Definition class.hpp:947
void swap(const OksAttribute *a1, const OksAttribute *a2)
Swap order of two attributes.
Definition class.cpp:1078
void registrate_class_change(ChangeType, const void *, bool=true)
Definition class.cpp:2035
void add(OksAttribute *a)
Add attribute.
Definition class.cpp:1052
void swap_super_classes(const std::string &c1, const std::string &c2)
Swap order of two superclasses.
Definition class.cpp:962
std::vector< OksClass * > * p_inheritance_hierarchy
Definition class.hpp:949
void registrate_relationship_change(OksRelationship *)
Definition class.cpp:1866
OksKernel * get_kernel() const noexcept
Definition class.hpp:333
void save(OksXmlOutputStream &) const
Definition class.cpp:458
void set_is_abstract(bool abstract)
Set class abstract property.
Definition class.cpp:798
OksIndex::Map * p_indices
Definition class.hpp:959
static NotifyFN delete_notify_fn
Definition class.hpp:968
static const char is_abstract_xml_attr[]
Definition class.hpp:1011
void remove_super_class(const std::string &name)
Definition class.cpp:927
const std::string & get_name() const noexcept
Definition class.hpp:363
OksAttribute * find_attribute(const std::string &name) const noexcept
Find attribute (search in this and base classes).
Definition class.cpp:1026
std::string p_name
Definition class.hpp:933
const FList * all_super_classes() const noexcept
Definition class.hpp:408
const std::list< OksRelationship * > * direct_relationships() const noexcept
Definition class.hpp:590
size_t number_of_all_attributes() const noexcept
Definition class.hpp:1036
void remove(const OksAttribute *a)
Remove attribute.
Definition class.cpp:1125
static ChangeNotifyFN change_notify_fn
Definition class.hpp:967
void set_description(const std::string &description)
Set class description.
Definition class.cpp:780
std::shared_mutex p_mutex
Definition class.hpp:961
OksClass * source_class(const OksAttribute *a) const noexcept
Get class owning given attribute.
Definition class.cpp:1162
const std::string & get_description() const noexcept
Definition class.hpp:368
static const char name_xml_attr[]
Definition class.hpp:1009
bool compare_without_methods(const OksClass &c) const noexcept
Definition class.cpp:308
OksClass(const std::string &name, OksKernel *kernel, bool transient=false)
Create OKS class.
Definition class.cpp:75
const std::list< OksMethod * > * direct_methods() const noexcept
Definition class.hpp:702
OksObject * get_object(const std::string &id) const noexcept
Get object by ID.
Definition class.cpp:1521
OksDataInfo * data_info(const std::string &s) const noexcept
Get OKS data information for attribute or relationship.
Definition class.hpp:860
void k_add(OksAttribute *a)
Kernel method to add attribute.
Definition class.cpp:1040
std::list< OksAttribute * > * p_all_attributes
Definition class.hpp:945
void registrate_attribute_change(OksAttribute *)
Definition class.cpp:1829
std::list< OksObject * > * create_list_of_all_objects() const noexcept
Get all objects of the class (including derived).
Definition class.cpp:1486
OksDataInfo::Map * p_data_info
Definition class.hpp:957
const std::list< OksAttribute * > * direct_attributes() const noexcept
Definition class.hpp:480
void lock_file(const char *)
Definition class.cpp:766
OksFile * get_file() const noexcept
Definition class.hpp:338
OksObject::List * execute_query(OksQuery *query) const
Execute query.
Definition query.cpp:431
const std::list< std::string * > * direct_super_classes() const noexcept
Definition class.hpp:413
std::list< OksClass *, boost::fast_pool_allocator< OksClass * > > FList
Definition class.hpp:235
void k_add_super_class(const std::string &name)
Definition class.cpp:867
static void destroy(OksClass *c)
Destroy OKS class.
Definition class.cpp:171
std::map< const char *, OksClass *, SortStr > Map
Definition class.hpp:233
OksMethod * find_direct_method(const std::string &name) const noexcept
Find direct method.
Definition class.cpp:1330
ChangeType
Information about class property changes.
Definition class.hpp:889
@ ChangeAttributeMultiValueCardinality
Definition class.hpp:900
friend std::ostream & operator<<(std::ostream &, const OksClass &)
Stream operator.
Definition class.cpp:386
bool has_direct_super_class(const std::string &) const noexcept
Definition class.cpp:754
const std::list< OksRelationship * > * all_relationships() const noexcept
Definition class.hpp:585
FList * p_all_super_classes
Definition class.hpp:943
Provides interface to the OKS XML schema and data files.
Definition file.hpp:340
std::map< const OksAttribute *, OksIndex *, SortByName > Map
Definition index.hpp:45
Provides interface to the OKS kernel.
Definition kernel.hpp:577
OKS method implementation class.
Definition method.hpp:35
OKS method class.
Definition method.hpp:153
OksObject describes instance of OksClass.
Definition object.hpp:836
std::unordered_map< const std::string *, OksObject *, oks::hash_str, oks::equal_str > Map
Definition object.hpp:865
std::list< OksObject * > List
Definition object.hpp:875
OKS query expression class.
Definition query.hpp:107
OKS query class.
Definition query.hpp:36
static std::string fill(const OksQueryExpression &query, const OksClass &c, const std::string &reason) noexcept
Definition query.cpp:37
QueryFailed(const OksQueryExpression &query, const OksClass &c, const exception &reason) noexcept
Definition class.hpp:149
virtual ~QueryFailed() noexcept
Definition class.hpp:151
QueryFailed(const OksQueryExpression &query, const OksClass &c, const std::string &reason) noexcept
Definition class.hpp:150
virtual ~SetOperationFailed() noexcept
Definition class.hpp:134
SetOperationFailed(const char *op, const exception &reason) noexcept
Definition class.hpp:132
static std::string fill(const char *op, const std::string &reason) noexcept
Definition class.cpp:69
SetOperationFailed(const char *op, const std::string &reason) noexcept
Definition class.hpp:133
virtual const char * what() const noexcept
caught dunedaq::conffwk::Exception exception
Including Qt Headers.
FELIX Initialization std::string initerror FELIX queue timed out
Definition __init__.py:1
bool operator()(OksClass *c1, OksClass *c2) const
Definition class.hpp:217
bool operator()(const char *c1, const char *c2) const
Definition class.hpp:227
Struct OKS data information.
Definition object.hpp:342
std::map< std::string, OksDataInfo * > Map
Declare map of pointers to OksDataInfo (unsorted by name)
Definition object.hpp:346