1#ifndef OperationalLimitType_H
2#define OperationalLimitType_H
10#include <unordered_map>
12#include "IdentifiedObject.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
18#include "LimitKind.hpp"
19#include "OperationalLimitDirectionKind.hpp"
27 class OperationalLimitType :
public IdentifiedObject
31 OperationalLimitType();
32 ~OperationalLimitType()
override;
49 static const char debugName[];
50 const char* debugString()
const override;
52 const std::list<std::string>& getAttributeNames()
const override;
54 const std::string& getClassNamespaceUrl()
const override;
55 const std::string& getAttributeNamespaceUrl(
const std::string& attrName)
const override;
57 const std::list<CGMESProfile>& getPossibleProfiles()
const override;
58 const CGMESProfile& getRecommendedProfile()
const override;
59 const std::list<CGMESProfile>& getPossibleAttributeProfiles(
const std::string& attrName)
const override;
60 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes()
const override;
62 static void addConstructToMap(std::unordered_map<std::string,
BaseClass* (*)()>& factory_map);
63 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
64 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
65 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map)
const override;
66 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map)
const override;
67 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map)
const override;
69 bool isAssignableFrom(
BaseClass* otherObject)
const override;
73 std::map<std::string, AttrDetails> allAttrDetailsMap()
const override;
76 BaseClass* OperationalLimitType_factory();
Definition BaseClass.hpp:22
Definition BaseClassDefiner.hpp:12
Definition Boolean.hpp:13
Limit kinds.
Definition LimitKind.hpp:14
The direction attribute describes the side of a limit that is a violation.
Definition OperationalLimitDirectionKind.hpp:14
std::list< CIMPP::OperationalLimit * > OperationalLimit
The operational limits associated with this type of limit. Default: {}.
Definition OperationalLimitType.hpp:35
CIMPP::Seconds acceptableDuration
The nominal acceptable duration of the limit. Limits are commonly expressed in terms of the time limi...
Definition OperationalLimitType.hpp:38
CIMPP::Boolean isInfiniteDuration
Defines if the operational limit type has infinite duration. If true, the limit has infinite duration...
Definition OperationalLimitType.hpp:44
CIMPP::OperationalLimitDirectionKind direction
The direction of the limit. Default: 0.
Definition OperationalLimitType.hpp:41
CIMPP::LimitKind kind
Types of limits defined in the ENTSO-E Operational Handbook Policy 3. Default: 0.
Definition OperationalLimitType.hpp:47
A value and normal value associated with a specific kind of limit. The sub class value and normalValu...
Definition OperationalLimit.hpp:25
Time, in seconds.
Definition Seconds.hpp:14