IRegistryElement.h
Go to the documentation of this file.
1 #ifndef icomp_IRegistryElement_included
2 #define icomp_IRegistryElement_included
3 
4 
5 // Qt includes
6 #include <QtCore/QByteArray>
7 #include <QtCore/QSet>
8 
9 // ACF includes
10 #include <istd/TDelPtr.h>
11 #include <iser/ISerializable.h>
12 #include <iser/IObject.h>
14 
15 
16 namespace icomp
17 {
18 
19 
20 class IComponentStaticInfo;
21 
22 
30  virtual public iattr::IAttributesProvider,
31  virtual public iser::ISerializable
32 {
33 public:
35 
37  {
41  CF_ATTRIBUTE_CHANGED = 0x29734ba,
43  };
44 
46  {
50  EF_AUTO_INSTANCE = 0x0001,
54  EF_IS_DETACHED = 0x0002
55  };
56 
61  {
63  QByteArray exportId;
64  QByteArray attributeTypeName;
65  };
66 
71  virtual quint32 GetElementFlags() const = 0;
76  virtual void SetElementFlags(quint32 flags) = 0;
77 
83  virtual AttributeInfo* InsertAttributeInfo(const QByteArray& attributeId, const QByteArray& attributeType) = 0;
84 
88  virtual iser::IObject* CreateAttribute(const QByteArray& attributeType) const = 0;
89 
93  virtual const AttributeInfo* GetAttributeInfo(const QByteArray& attributeId) const = 0;
94 
98  virtual bool RemoveAttribute(const QByteArray& attributeId) = 0;
99 };
100 
101 
102 } // namespace icomp
103 
104 
105 #endif // !icomp_IRegistryElement_included
106 
107 
Common interface for a container of properties.
ChangeFlags
Data model change notification flags.
virtual bool RemoveAttribute(const QByteArray &attributeId)=0
Removes attribute info structure from this collection.
Indicate that instance of this element should be automatically created.
Indicate that this element is detached from container and can be used as factory. ...
virtual AttributeInfo * InsertAttributeInfo(const QByteArray &attributeId, const QByteArray &attributeType)=0
Insert new attribute info object to collection of attributes.
virtual iser::IObject * CreateAttribute(const QByteArray &attributeType) const =0
Create attribute object for specified ID.
Common class for all classes which objects can be archived or restored from archive.
Definition: ISerializable.h:23
Common interface for factorisable model objects.
Definition: IObject.h:19
virtual void SetElementFlags(quint32 flags)=0
Set flags of this registry element.
istd::TDelPtr< iser::IObject > AttributePtr
virtual const AttributeInfo * GetAttributeInfo(const QByteArray &attributeId) const =0
Get access to stored attribute info structure.
Represents element of registry describing component parameters.
Describe information stored with each attribute.
Indicate that data model is changed.
virtual quint32 GetElementFlags() const =0
Get flags of this registry element.

© 2007-2017 Witold Gantzke and Kirill Lepskiy