6#include <QtCore/QByteArray>
7#include <QtCore/QString>
72 bool SetIntAttr(
const QByteArray& attributeId,
int value);
82 bool SetStringAttr(
const QByteArray& attributeId,
const QString& value);
87 bool SetIdAttr(
const QByteArray& attributeId,
const QByteArray& value);
94 template <
class Attribute>
102 if (existingInfoPtr !=
NULL){
107 if (newInfoPtr !=
NULL){
117 if (multiAttrPtr !=
NULL){
138 template <
class AttrType>
155template <
class AttrType>
159 if (attributeInfoPtr !=
NULL){
162 return attributeType == AttrType::GetTypeName();
Template implementation of multiple component attribute.
virtual void InsertValue(const Value &value)
virtual AttributeInfo * GetAttributeInfo(const QByteArray &attributeId)
virtual AttributeInfo * InsertAttributeInfo(const QByteArray &attributeId, const QByteArray &attributeType) override
Insert new attribute info object to collection of attributes.
CSimComponentContextBase(const IComponentStaticInfo *infoPtr)
virtual const IComponentContext * GetParentContext() const override
Get access to parent component context.
virtual const iser::IObject * GetAttribute(const QByteArray &attributeId, int *definitionLevelPtr=NULL) const override
Get attribute using its ID.
bool SetIdAttr(const QByteArray &attributeId, const QByteArray &value)
Set instance of QByteArray attribute.
virtual const IComponentStaticInfo & GetStaticInfo() const override
Get component static info associated with this context.
QMap< QByteArray, const ComponentsFactory * > FactoriesMap
bool InsertMultiAttr(const QByteArray &attributeId, const QString &attribute)
virtual const IRegistryElement & GetRegistryElement() const override
Get access to component registry element object.
bool InsertMultiAttr(const QByteArray &attributeId, const Attribute &attribute)
Insert new attribute to multi attributes.
bool SetFactory(const QByteArray &factoryId, const ComponentsFactory *factoryPtr)
Set factory of component instance.
bool SetBoolAttr(const QByteArray &attributeId, bool value)
Set instance of bool attribute.
bool SetAttr(const QByteArray &attributeId, const iser::IObject *attributePtr)
Set named attribute.
bool IsAttributeTypeCorrect(const QByteArray &attributeId)
Check if attribute type is corrected.
bool SetStringAttr(const QByteArray &attributeId, const QString &value)
Set instance of QString attribute.
ComponentsMap m_componentsMap
QMap< QByteArray, IComponentSharedPtr > ComponentsMap
bool InsertMultiFactory(const QByteArray &factoryId, const ComponentsFactory *factoryPtr)
Insert new factory instance into multi-factory attribute.
FactoriesMap m_factoriesMap
bool SetDoubleAttr(const QByteArray &attributeId, double value)
Set instance of double attribute.
bool SetIntAttr(const QByteArray &attributeId, int value)
Set instance of int attribute.
bool SetRef(const QByteArray &referenceId, IComponentSharedPtr componentPtr, const QByteArray &subelementId="")
Set named reference to some component.
istd::TIFactory< icomp::IComponent > ComponentsFactory
bool InsertMultiRef(const QByteArray &referenceId, IComponentSharedPtr componentPtr, const QByteArray &subelementId="")
Set named reference to some component.
Describe component attribute static information.
Provide session context of component.
This interface provide static information about component meta info.
virtual const IAttributeStaticInfo * GetAttributeInfo(const QByteArray &attributeId) const =0
Get set of attributes.
Represents element of registry describing component parameters.
Common interface for factorisable model objects.
const QByteArray & GetName() const
Get undecorated and platform undependent class name.
Base implementation for operations on composed ID objects.
void SetPtr(Type *ptr)
Set new value of internal pointer.
Generic interface for a factory.
bool IsValid() const
Check if internal pointer not NULL.
Type * GetPtr() const
Return access to internal stored pointer.
Package with interfaces and class used for components concept.
std::shared_ptr< IComponent > IComponentSharedPtr
Describe information stored with each attribute.
AttributePtr attributePtr