API Guides > ConceptRT 3.x
ConceptComponent Class Reference

Concept component. Each class of the user domain model should inherite from this class to use the ConceptModel integrated services. Serialization, DynamicInvocation and Initialization are the integrated services provided by ConceptRTModel. More...

Detailed Description

Concept component. Each class of the user domain model should inherite from this class to use the ConceptModel integrated services. Serialization, DynamicInvocation and Initialization are the integrated services provided by ConceptRTModel.

Examples:
Machine/main.cpp.
+ Inheritance diagram for ConceptComponent:

Public Member Methods

 ConceptComponent ()
 Default constructor. More...
 
 ~ConceptComponent ()
 Destructor. More...
 
void GetChildren (IReferenceList< ConceptElement > &children)
 Gets the children of this component. More...
 
ConceptElementAddNew (const BaseConceptFactory &factory, const PCChar8 name)
 Adds a new element to the component. More...
 
void ReadFrom (IDataStore &dataStore, IMessageCollector *messages=NULL)
 Reads from. More...
 
void WriteTo (IDataStore &dataStore) const
 Writes to. More...
 
void Clear ()
 Clears the content of this container. More...
 
- Public Member Methods inherited from ConceptContainer
const bool & GetIsXmlPropertyVisible () const
 Show the xml field in the invocation. More...
 
const bool & GetIsXmlPropertyVisible ()
 Show the xml field in the invocation. More...
 
void SetIsXmlPropertyVisible (const bool &value)
 Show the xml field in the invocation. More...
 
const bool & GetIsXmlPropertyReadOnly () const
 Control access on the xml file shown in the invocation. More...
 
const bool & GetIsXmlPropertyReadOnly ()
 Control access on the xml file shown in the invocation. More...
 
void SetIsXmlPropertyReadOnly (const bool &value)
 Control access on the xml file shown in the invocation. More...
 
 ConceptContainer ()
 Default constructor. More...
 
 ~ConceptContainer ()
 Destructor. More...
 
bool Contains (ConceptElement &element) const
 Query if this object contains the given element. More...
 
void ResolveLinks ()
 Resolve links. More...
 
void Invoke (const DynamicInvocationRequest &request, DynamicInvocationResult &result)
 Invokes the object fields and methods. More...
 
ConceptElementFind (const PCChar8 path) const
 Searches into the container and sub-containers an element. More...
 
void Accept (IContainerVisitor &visitor)
 Accepts IContainerVisitor to access the object published fields. More...
 
virtual ConceptElementFindByName (const PCChar8 name) const
 Searches into the container an element. More...
 
template<class ElementSubType >
ElementSubType * FindByName (const PCChar8 name) const
 Searches into the container an element of a certain type. More...
 
void RetrieveProvidedFactories (BaseConceptFactories &factories, const Predicate< BaseConceptFactory & > &filter)
 Retrieve provided factories. More...
 
void RetrieveProvidedFactories (BaseConceptFactories &factories)
 RetrieveProvidedFactories. More...
 
void RetrieveFactories (BaseConceptFactories &factories) const
 Retrieve factories. More...
 
- Public Member Methods inherited from ConceptElement
const bool & GetIsInvocable () const
 Controls if the objet should be shown in the invocation. More...
 
const bool & GetIsInvocable ()
 Controls if the objet should be shown in the invocation. More...
 
void SetIsInvocable (const bool &value)
 Controls if the objet should be shown in the invocation. More...
 
const bool & GetIsSerialized () const
 Controls if the objet should be serialized. More...
 
const bool & GetIsSerialized ()
 Controls if the objet should be serialized. More...
 
void SetIsSerialized (const bool &value)
 Controls if the objet should be serialized. More...
 
 ConceptElement ()
 Default constructor. More...
 
 ConceptElement (const ConceptElement &right)
 Default constructor. More...
 
ConceptElementoperator= (const ConceptElement &right)
 Assignment operator. More...
 
const StaticString< ConceptElementNameMaxLength > & GetName () const
 Gets the name. More...
 
void SetName (const PCChar8 name)
 Sets a name. More...
 
String GetPath () const
 Gets the path of the ConceptElement. More...
 
ConceptContainerGetContainer () const
 Gets the container of the ConceptElement. More...
 
template<class ContainerType >
ContainerType * GetContainerOfType () const
 Gets the container of a certain type the ConceptElement. More...
 
ConceptContainerGetRootContainer () const
 Gets the root container of the ConceptElement. More...
 
virtual const String GetDisplayName () const
 Gets the display name. More...
 
virtual void CopyDataFrom (const ConceptElement &source)
 Copies the data from another ConceptElement. More...
 
virtual void CopyFrom (const ConceptElement &source)
 Copies itself from a given source. More...
 
virtual BaseConceptFactoryGetFactory () const =0
 Gets the ConceptElement factory. More...
 
ConceptElementGetProvider () const
 Gets the provider of the ConceptElement if defined, throws a ConceptException otherwise. More...
 
template<class T >
T & GetProvider () const
 Gets the provider of the ConceptElement if defined and of type T, throws a ConceptException otherwise. More...
 
bool GetHasProvider () const
 Tests the existence of a provider. More...
 
template<class T >
bool GetHasProvider () const
 Tests the existence of a provider of type T. More...
 
virtual ConceptElementClone () const
 Makes a deep copy of this object. More...
 
void RetrieveProvidedFactories (BaseConceptFactories &factories)
 Retrieve provided factories. More...
 
Variant GetPropertyMetaData (PCChar8 propertyName, PCChar8 metaDataName, const Variant &defaultValue=Variant::GetVariantNull()) const
 Returns a metadata string corresponding to a property and a metadata name. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ConceptContainer
virtual Int32 Add (ConceptElement &element)
 Adds element. More...
 
virtual Int32 Add (ConceptElement &element, const PCChar8 name)
 Adds element. More...
 
- Protected Member Functions inherited from ConceptElement
void Initialize ()
 Initializes this object. More...
 
virtual BaseConceptFactoryInternalGetFactory () const
 Gets the object factory. More...
 
virtual void RetrieveElementProvidedFactories (BaseConceptFactories &factories, const Predicate< BaseConceptFactory & > &filter)
 RetrieveElementProvidedFactories. Used by the macro CONCEPT_PROVIDED_COMPONENT_BEGIN More...
 

Constructor & Destructor Documentation

Default constructor.

Destructor.

Methods Documentation

ConceptElement& AddNew ( const BaseConceptFactory factory,
const PCChar8  name 
)

Adds a new element to the component.

Parameters
factoryThe ConceptElement factory.
nameThe new element's name.
Returns
The new element
Warning
Non-Deterministic: The new element is created on the heap. Determinism when using ConceptRT library can be ensure by using Context Time Critical mechanisms.
void Clear ( )
virtual

Clears the content of this container.

Warning
Non-Deterministic: Deletion of content will remove items from the heap. Determinism when using ConceptRT library can be ensure by using Context Time Critical mechanisms.

Implements ConceptContainer.

Reimplemented in AcquisitionSystem.

void GetChildren ( IReferenceList< ConceptElement > &  children)

Gets the children of this component.

Parameters
children[in,out] Children.
void ReadFrom ( IDataStore dataStore,
IMessageCollector messages = NULL 
)
virtual

Reads from.

Parameters
dataStore[in,out] The dataStore.
messages[in,out] (optional) The messageCollector to collect warning or error messages. Default = NULL.

Implements ConceptElement.

void WriteTo ( IDataStore dataStore) const
virtual

Writes to.

Parameters
dataStore[in,out] The dataStore.

Implements ConceptElement.