21#ifndef MAPPING_CONFIGURATION_DATA_MODEL_ITEMS_HEADER
22#define MAPPING_CONFIGURATION_DATA_MODEL_ITEMS_HEADER
66 const std::string& author = {},
67 const std::string& date_creation = {},
68 const std::string& date_change = {},
69 const std::string& description = {});
166 std::unique_ptr<HeaderImpl> _impl;
194 Property(
const std::string& name,
const std::string& value);
255 std::unique_ptr<PropertyImpl> _impl;
285 const std::string& type,
286 const std::vector<Property>& properties = {});
367 const std::string& additional_info);
369 std::unique_ptr<SourceImpl> _impl;
598 std::unique_ptr<TriggerImpl> _impl;
852 class ParameterValueImpl;
853 std::unique_ptr<ParameterValueImpl> _impl;
991 const std::vector<ParameterValue>& parameter_values = {});
1100 const std::vector<ParameterValue>& parameter_values);
1123 const std::string& additional_info);
1128 const std::string& additional_info);
1130 class AssignmentImpl;
1131 std::unique_ptr<AssignmentImpl> _impl;
1178 const std::string& type,
1179 const std::vector<Property>& properties = {});
1296 const std::string& additional_info);
1300 const std::string& additional_info);
1305 const std::string& additional_info);
1307 std::unique_ptr<TargetImpl> _impl;
1337 const std::string& type,
1338 const std::vector<Property>& properties = {});
1420 const std::string& additional_info);
1422 std::unique_ptr<FunctionImpl> _impl;
DDL_TYPE_TO_ACCESS access_type
local definition of the access type
Definition access_list.h:90
Utility class for observable named items where the order is NOT important.
Definition access_map.h:79
DDL_TYPE_TO_ACCESS access_type
local definition of the access type
Definition access_map.h:82
Mapping Version.
Definition mapping_version.h:32
ParameterValue::ConstValue ConstValue
ConstValue type.
Definition datamodel_configuration_items.h:941
Assignment(const Assignment &other)
copy CTOR
bool operator==(const Assignment &other) const
equality operator
const std::string & getName() const
Get the name of the assignment value to assign to (the same as getTo)
Assignment & operator=(const Assignment &other)
copy operator
Type
the type of the assignment
Definition datamodel_configuration_items.h:917
@ const_value
The assignment is a const value assignment.
Definition datamodel_configuration_items.h:927
@ source_value
The assignment is a source value assignment.
Definition datamodel_configuration_items.h:922
@ function_call
The assignment is a function call assignment.
Definition datamodel_configuration_items.h:932
ParameterValue::SourceValue SourceValue
SourceValue type.
Definition datamodel_configuration_items.h:937
Assignment(const std::string &to_target_value_name, const ConstValue &from_const_value)
CTOR.
void setTo(const std::string &to)
Set the assignment value to assign to.
ConstValue getConstValue() const
Get the const value if type is set to Type::const_value.
ddl::utility::TypeAccessList< ParameterValue, Assignment > ParameterValues
ParameterValues type within Assignment.
Definition datamodel_configuration_items.h:1105
SourceValue getSourceValue() const
Get the source value if type is set to Type::source_value.
Assignment(Assignment &&other)
move CTOR
bool operator!=(const Assignment &other) const
inequality operator
void setAsFunctionCall(const FunctionCall &module_call, const std::vector< ParameterValue > ¶meter_values)
Set as module call assignment and the parameters to use for the function.
Assignment(const std::string &to_target_value_name, const SourceValue &from_source_value)
CTOR.
FunctionCall getFunctionCall() const
Get the function call value if type is set to Type::function_call.
const ParameterValues & getParameterValues() const
Get the ParameterValues.
const std::string & getTo() const
Get the assignment value to assign to.
ParameterValues & getParameterValues()
Get the ParameterValues.
void setAsConstValue(const ConstValue &const_value)
Set as const value assignment.
void setAsFunctionCall(const FunctionCall &function_call)
Set as function call assignment.
Assignment(const std::string &to_target_value_name, const FunctionCall &from_module_call, const std::vector< ParameterValue > ¶meter_values={})
CTOR.
Assignment()=delete
no CTOR
Assignment & operator=(Assignment &&other)
move operator
void setAsSourceValue(const SourceValue &source_value)
Set as source value assignment.
Type getType() const
Get the type.
Function(Function &&other)
move CTOR
Function & operator=(Function &&other)
move operator
Function(const Function &other)
copy CTOR
void setType(const std::string &type)
Set the thype.
const std::string & getType() const
Get the type.
bool operator!=(const Function &other) const
inequality operator
Properties & getProperties()
Get the Properties object.
ddl::utility::TypeAccessMap< Property, Function > Properties
Type of properties within module.
Definition datamodel_configuration_items.h:1399
Function(const std::string &name, const std::string &type, const std::vector< Property > &properties={})
CTOR.
bool operator==(const Function &other) const
equality operator
Function & operator=(const Function &other)
copy operator
const Properties & getProperties() const
Get the Properties.
void setName(const std::string &name)
Set the name.
const std::string & getName() const
Get the name.
ParameterValue(const ParameterValue &other)
copy CTOR
Type getType() const
Get the type.
void setAsInternalValue(const InternalValue &internal_value)
Set the as internal value.
void setName(const std::string &name)
Set the name.
void setAsConstValue(const ConstValue &const_value)
Set the as const value.
bool operator!=(const ParameterValue &other) const
inequality operator
ParameterValue()=delete
no CTOR
const std::string & getName() const
Get the name.
InternalValue getInternalValue() const
Get the internal value if type is set to Type::internal_value.
ParameterValue(ParameterValue &&other)
move CTOR
bool operator==(const ParameterValue &other) const
equality operator
ConstValue getConstValue() const
Get the const value if type is set to Type::const_value.
ParameterValue(const std::string &name, const ConstValue &const_value)
CTOR.
ParameterValue & operator=(const ParameterValue &other)
copy operator
ParameterValue(const std::string &name, const InternalValue &internal_value)
CTOR.
ParameterValue & operator=(ParameterValue &&other)
move operator
void setAsSourceValue(const SourceValue &source_value)
Set the as source value.
Type
Type of the parameter value.
Definition datamodel_configuration_items.h:659
@ const_value
The parameter value is a const value.
Definition datamodel_configuration_items.h:669
@ source_value
The parameter value is a source value.
Definition datamodel_configuration_items.h:664
@ internal_value
The parameter value is a const value.
Definition datamodel_configuration_items.h:674
SourceValue getSourceValue() const
Get the source value if type is set to Type::source_value.
ParameterValue(const std::string &name, const SourceValue &source_value)
CTOR.
bool operator==(const Property &other) const
equality operator
Property & operator=(Property &&other)
move operator
Property & operator=(const Property &other)
copy operator
void setValue(const std::string &value)
Set the value.
const std::string & getName() const
Get the name.
Property(const Property &other)
copy CTOR
const std::string & getValue() const
Get the value.
Property(Property &&other)
move CTOR
Property(const std::string &name, const std::string &value)
CTOR.
void setName(const std::string &name)
Set the name.
bool operator!=(const Property &other) const
inequality operator
Source(const std::string &name, const std::string &type, const std::vector< Property > &properties={})
CTOR.
ddl::utility::TypeAccessMap< Property, Source > Properties
Properties type.
Definition datamodel_configuration_items.h:347
const std::string & getType() const
Get the type.
Source(Source &&other)
move CTOR
const Properties & getProperties() const
Get the Properties.
bool operator==(const Source &other) const
equality operator
bool operator!=(const Source &other) const
inequality operator
void setType(const std::string &type)
Set the type.
Properties & getProperties()
Get the Properties.
const std::string & getName() const
Get the name.
void setName(const std::string &name)
Set the name.
Source(const Source &other)
copy CTOR
Source & operator=(Source &&other)
move operator
Source & operator=(const Source &other)
copy operator
bool operator!=(const Target &other) const
inequality operator
void setName(const std::string &name)
Set the name of the target instance to create.
Assignments & getAssignments()
Get the Assignments.
Target(const Target &other)
copy CTOR
const std::string & getName() const
Get the name.
void setType(const std::string &type)
Set the type.
const Assignments & getAssignments() const
Get the Assignments.
bool operator==(const Target &other) const
equality operator
const Triggers & getTriggers() const
Get the Triggers.
ddl::utility::TypeAccessMap< Property, Target > Properties
Properties type within the target.
Definition datamodel_configuration_items.h:1240
Triggers & getTriggers()
Get the Triggers.
ddl::utility::TypeAccessList< Assignment, Target > Assignments
Assignments type within the target.
Definition datamodel_configuration_items.h:1276
Properties & getProperties()
Get the Properties.
Target(const std::string &name, const std::string &type, const std::vector< Property > &properties={})
CTOR.
ddl::utility::TypeAccessVector< Trigger, Target > Triggers
Triggers type within the target.
Definition datamodel_configuration_items.h:1258
Target(Target &&other)
move CTOR
const Properties & getProperties() const
Get the Properties.
Target & operator=(Target &&other)
move operator
const std::string & getType() const
Get the type of the target instance to create.
Target & operator=(const Target &other)
copy operator
static constexpr auto strategy_latest
Definition datamodel_configuration_items.h:578
static constexpr auto strategy_first_in_config
Definition datamodel_configuration_items.h:574
bool operator!=(const Trigger &other) const
inequality operator
bool operator==(const Trigger &other) const
equality operator
Period getPeriod() const
Get the period value if type is set to Type::period.
Type getType() const
Get the type.
void setTimeStrategy(const std::string &time_strategy)
Type
The type of the trigger.
Definition datamodel_configuration_items.h:381
@ source
The trigger is a source trigger.
Definition datamodel_configuration_items.h:386
@ data
The trigger is a data trigger.
Definition datamodel_configuration_items.h:391
@ period
The trigger is a periodic trigger.
Definition datamodel_configuration_items.h:396
Source getSource() const
Get the source value if type is set to Type::source.
Trigger(const Source &source)
CTOR.
static constexpr auto strategy_trigger
Definition datamodel_configuration_items.h:568
Trigger(const Period &period)
CTOR.
void setAsData(const Data &data)
Set as data trigger.
Data getData() const
Get the data value if type is set to Type::data.
Trigger(const Data &data)
CTOR.
void setAsPeriod(const Period &period)
Set as periodic trigger.
static constexpr auto strategy_earliest
Definition datamodel_configuration_items.h:582
const std::string & getTimeStrategy() const
Trigger & operator=(Trigger &&other)
move operator
Trigger & operator=(const Trigger &other)
copy operator
void setAsSource(const Source &source)
Set as source trigger.
Trigger(Trigger &&other)
move CTOR
Trigger(const Trigger &other)
copy CTOR
Bug fix class for ddl::dd::utility::TypeAccessList to get rid of providing getNamedItemList in valida...
Definition access_list.h:829
Utility class for observable named items where the order is important.
Definition access_vector.h:83
Trigger access_type
Definition access_vector.h:86
bool operator!=(const Trigger::Source &left, const Trigger::Source &right)
inequality operator
bool operator==(const Trigger::Source &left, const Trigger::Source &right)
equality operator
ddl::utility::ModelSubjectUtility< SubjectType, ModelEventCode > ModelSubject
Subject template class for observable objects.
Definition datamodel_base.h:190
ModelSubjectUtility< T, TypeAccessMapEventCode > TypeAccessMapSubject
helper template to observe map content.
Definition access_map.h:61
TypeAccessListEventCode
Internal event code to inform the parent DD Object about the change of an item within the list.
Definition access_list.h:43
TypeAccessMapEventCode
Internal event code to inform the parent DD Object about the change of an item within the list.
Definition access_map.h:37
definition of the mapping namespace
Definition ddl.h:50
ModelSubjectUtility< T, TypeAccessVectorEventCode > TypeAccessVectorSubject
helper template to observe vector content.
Definition access_vector.h:65
TypeAccessVectorEventCode
Internal event code to inform the parent DD Object about the change of an item within the list.
Definition access_vector.h:39
ModelSubjectUtility< T, TypeAccessListEventCode > TypeAccessListSubject
helper template to observe list content.
Definition access_list.h:808
definition of the ddl namespace
Definition codec.h:21
FunctionCall type.
Definition datamodel_configuration_items.h:945
std::string function_name
function instance to call
Definition datamodel_configuration_items.h:949
ConstValue type of the parameter.
Definition datamodel_configuration_items.h:694
std::string value
the const value
Definition datamodel_configuration_items.h:700
InternalValue type of the parameter.
Definition datamodel_configuration_items.h:707
std::string value_name
the internal value name within target or source name
Definition datamodel_configuration_items.h:715
std::string name
the source or target name of the value if necessary
Definition datamodel_configuration_items.h:711
SourceValue type of the parameter.
Definition datamodel_configuration_items.h:680
std::string name
the source name of the value
Definition datamodel_configuration_items.h:684
std::string value_name
the value name within the source
Definition datamodel_configuration_items.h:688
Data type of the trigger.
Definition datamodel_configuration_items.h:414
std::string operation
the compare operator to use for value 'operator' source_value_name
Definition datamodel_configuration_items.h:426
std::string source_name
the source name for the value to trigger on update
Definition datamodel_configuration_items.h:418
std::string value
the value to compare the source_value_name to
Definition datamodel_configuration_items.h:430
std::string source_value_name
the value name within the source_name to trigger on update
Definition datamodel_configuration_items.h:422
Period type of the trigger.
Definition datamodel_configuration_items.h:437
std::string unit
the unit of the time value
Definition datamodel_configuration_items.h:446
std::string time
the time of the period Usually this is an unsigned integer value!
Definition datamodel_configuration_items.h:442
Source type of the trigger.
Definition datamodel_configuration_items.h:403
std::string source_name
the source name to trigger on update
Definition datamodel_configuration_items.h:407