ADTF
StreamMetaType

observable DataDefinition object class to describe StreamMetaType. More...

Inheritance diagram for StreamMetaType:
[legend]

Public Types

using Property = KeyValuePair
 defintion of properties by using name - type pair.
 
using Properties = utility::TypeAccessMap< Property, StreamMetaType >
 container of properties for the StreamMetaType::Property.
 
- Public Types inherited from ModelSubjectUtility< MODEL_SUBJECT_T, EVENT_CODE_T >
typedef EVENT_CODE_T event_code_type
 local definition of the event code type
 
typedef MODEL_SUBJECT_T subject_type
 local definition of the subject type
 
typedef ModelObserverUtility< MODEL_SUBJECT_T, EVENT_CODE_T > observer_type
 local definition of the observer type to notify
 

Public Member Functions

 StreamMetaType ()=delete
 no default CTOR
 
 StreamMetaType (StreamMetaType &&)
 move CTOR
 
StreamMetaTypeoperator= (StreamMetaType &&)
 move assignment operator More...
 
 StreamMetaType (const StreamMetaType &other)
 copy CTOR More...
 
StreamMetaTypeoperator= (const StreamMetaType &other)
 copy assignment operator More...
 
 StreamMetaType (const std::string &name, const std::string &version, const std::string &parent={}, const std::vector< Property > &properties={})
 CTOR. More...
 
virtual ~StreamMetaType ()=default
 DTOR.
 
bool operator== (const StreamMetaType &other) const
 equality operator. More...
 
bool operator!= (const StreamMetaType &other) const
 non equality operator. More...
 
const PropertiesgetProperties () const
 Get the Properties object. More...
 
PropertiesgetProperties ()
 Get the Properties object. More...
 
TypeOfType getTypeOfType () const override
 Get the Type Of the Type (data_type, enum_type, struct_type, stream_meta_type). More...
 
void setName (const std::string &name) override
 Set the Name. More...
 
const std::string & getParent () const
 Get the Parent. More...
 
void setParent (const std::string &parent)
 Set the Parent This is only valid if the parent is a valid other streammetatype. More...
 
const std::string & getVersion () const
 Get the Version. More...
 
void setVersion (const std::string &version)
 Set the Version. More...
 
- Public Member Functions inherited from TypeBase
 TypeBase ()=default
 CTOR.
 
 TypeBase (const TypeBase &)=default
 copy CTOR
 
 TypeBase (TypeBase &&)=default
 move CTOR
 
TypeBaseoperator= (const TypeBase &)=default
 copy assignment operator More...
 
TypeBaseoperator= (TypeBase &&)=default
 move assignment operator More...
 
 TypeBase (const std::string &name)
 CTOR. More...
 
virtual ~TypeBase ()=default
 DTOR.
 
const std::string & getName () const
 Get the Name. More...
 
- Public Member Functions inherited from ModelSubjectUtility< MODEL_SUBJECT_T, EVENT_CODE_T >
 ModelSubjectUtility ()=default
 CTOR.
 
 ModelSubjectUtility (const ModelSubjectUtility &)
 copy CTOR which removes the observers in case of!
 
ModelSubjectUtilityoperator= (const ModelSubjectUtility &)
 copy assignment operator which removes the observers in case of! More...
 
virtual ~ModelSubjectUtility ()=default
 DTOR.
 
void attachObserver (observer_type *observer)
 adda a observer to notify. More...
 
void detachObserver (observer_type *observer)
 remove a observer if in list. More...
 
- Public Member Functions inherited from InfoMap
 InfoMap ()=default
 CTOR.
 
 InfoMap (const InfoMap &)
 copy CTOR More...
 
 InfoMap (InfoMap &&)
 move CTOR More...
 
InfoMapoperator= (const InfoMap &)
 copy assignment operator More...
 
InfoMapoperator= (InfoMap &&)
 move assignment operator More...
 
template<typename INFO_T >
const INFO_T * getInfo () const
 Get the Info Pointer. More...
 
template<typename INFO_T >
INFO_T * getInfo ()
 Get the Info Pointer. More...
 
template<typename INFO_T >
void setInfo (const std::shared_ptr< INFO_T > &info)
 Set the Info object as shared pointer. More...
 

Private Member Functions

void notify (ModelEventCode code, utility::TypeAccessMapEventCode forward_code, const std::string &additional_info)
 
bool validateContains (const Properties::access_type &prop) const
 
void notifyChangedMapContent (utility::TypeAccessMapEventCode code, Properties::access_type &element, const std::string &additional_info)
 

Private Attributes

std::string _version = {}
 
std::string _parent = {}
 
Properties _properties
 

Additional Inherited Members

- Protected Member Functions inherited from ModelSubjectUtility< MODEL_SUBJECT_T, EVENT_CODE_T >
void notifyChanged (event_code_type event_code, subject_type &changed_subject, const std::string &additional_info)
 helper utility function to notify the current observers More...
 
- Protected Attributes inherited from TypeBase
std::string _name
 name storage value
 

Detailed Description

observable DataDefinition object class to describe StreamMetaType.

Definition at line 1222 of file datamodel_types.h.

Constructor & Destructor Documentation

◆ StreamMetaType() [1/2]

StreamMetaType ( const StreamMetaType other)

copy CTOR

Parameters
otherthe other type to copy from

◆ StreamMetaType() [2/2]

StreamMetaType ( const std::string &  name,
const std::string &  version,
const std::string &  parent = {},
const std::vector< Property > &  properties = {} 
)

CTOR.

Parameters
namethe name of the streammetatype
versionthe version of the streammetatype
parentthe parent of the streammetatype
propertiesa initial set of properties
Exceptions
maythrow if properties contains properties with the same name twice.

Member Function Documentation

◆ getParent()

const std::string& getParent ( ) const

Get the Parent.

Returns
const std::string&

◆ getProperties() [1/2]

Properties& getProperties ( )

Get the Properties object.

Returns
Properties&

◆ getProperties() [2/2]

const Properties& getProperties ( ) const

Get the Properties object.

Returns
const Properties&

◆ getTypeOfType()

TypeOfType getTypeOfType ( ) const
overridevirtual

Get the Type Of the Type (data_type, enum_type, struct_type, stream_meta_type).

Returns
TypeOfType

Implements TypeBase.

◆ getVersion()

const std::string& getVersion ( ) const

Get the Version.

Returns
const std::string&

◆ operator!=()

bool operator!= ( const StreamMetaType other) const

non equality operator.

Parameters
otherthe other type to compare to.
Returns
false the type is equal (and all its properties).
true the type is not equal.

◆ operator=() [1/2]

StreamMetaType& operator= ( const StreamMetaType other)

copy assignment operator

Parameters
otherthe other type to copy from
Returns
StreamMetaType&

◆ operator=() [2/2]

StreamMetaType& operator= ( StreamMetaType &&  )

move assignment operator

Returns
StreamMetaType&

◆ operator==()

bool operator== ( const StreamMetaType other) const

equality operator.

Parameters
otherthe other type to compare to.
Returns
true the type is equal (and all its properties).
false the type is not equal.

◆ setName()

void setName ( const std::string &  name)
overridevirtual

Set the Name.

Parameters
nameThe name of type.
Exceptions
Thismight throw if the set name does already exist in the container this type is part of.

Reimplemented from TypeBase.

◆ setParent()

void setParent ( const std::string &  parent)

Set the Parent This is only valid if the parent is a valid other streammetatype.

Parameters
parentthe parent to set.
Remarks
This is observable.

Referenced by DDFromXMLFactory< DOM_NODE_TYPE >::createStreamMetaType().

◆ setVersion()

void setVersion ( const std::string &  version)

Set the Version.

Parameters
versionthe version to set
Remarks
This is observable.