CGMES_3_0_0
Loading...
Searching...
No Matches
Discrete.hpp
1#ifndef Discrete_H
2#define Discrete_H
3/*
4Generated from the CGMES files via cimgen: https://github.com/sogno-platform/cimgen
5*/
6
7#include <list>
8#include <map>
9#include <string>
10#include <unordered_map>
11
12#include "Measurement.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
16
17
18namespace CIMPP
19{
20 class DiscreteValue;
21 class ValueAliasSet;
22
24 class Discrete : public Measurement
25 {
26 public:
27 /* constructor initialising all attributes to null */
28 Discrete();
29 ~Discrete() override;
30
32 std::list<CIMPP::DiscreteValue*> DiscreteValues;
33
36
37 static const char debugName[];
38 const char* debugString() const override;
39
40 const std::list<std::string>& getAttributeNames() const override;
41
42 const std::string& getClassNamespaceUrl() const override;
43 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
44
45 const std::list<CGMESProfile>& getPossibleProfiles() const override;
46 const CGMESProfile& getRecommendedProfile() const override;
47 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
48 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
49
50 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
51 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
52 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
53 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
54 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
55 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
56
57 bool isAssignableFrom(BaseClass* otherObject) const override;
58 static const BaseClassDefiner declare();
59
60 protected:
61 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
62 };
63
64 BaseClass* Discrete_factory();
65}
66#endif
Definition BaseClass.hpp:22
Definition BaseClassDefiner.hpp:12
DiscreteValue represents a discrete MeasurementValue.
Definition DiscreteValue.hpp:25
CIMPP::ValueAliasSet * ValueAliasSet
The ValueAliasSet used for translation of a MeasurementValue.value to a name. Default: nullptr.
Definition Discrete.hpp:35
std::list< CIMPP::DiscreteValue * > DiscreteValues
The values connected to this measurement. Default: {}.
Definition Discrete.hpp:32
Describes the translation of a set of values into a name and is intendend to facilitate custom transl...
Definition ValueAliasSet.hpp:27