|
ACF $AcfVersion:0$
|
Represents a parameter which can change its type. More...
#include <IVariableParam.h>
Public Types | |
| typedef QSet< QByteArray > | TypeIds |
Public Types inherited from istd::IChangeable | |
| enum | ChangeFlags { CF_ACF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING , CF_DELEGATED , CF_NO_UNDO } |
| Data model change notification flags. More... | |
| enum | SupportedOperations { SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 , SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 } |
| Flags for supported operations. More... | |
| enum | CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT } |
| Control how relationship betweeen objects are interpreted. More... | |
| typedef QMultiMap< QByteArray, QVariant > | ChangeInfoMap |
Public Member Functions | |
| virtual TypeIds | GetKnownTypeIds () const =0 |
| Get list of all known type IDs. | |
| virtual QByteArray | GetParameterTypeId () const =0 |
| Get type ID of current stored parameter. | |
| virtual iser::ISerializable * | GetParameter () const =0 |
| Get current parameter instance. | |
| virtual bool | AssignTypeId (const QByteArray &typeId)=0 |
| Assign type ID to this object. | |
Public Member Functions inherited from iser::ISerializable | |
| virtual bool | Serialize (IArchive &archive)=0 |
| Load or store state of this object as a archive stream. | |
| virtual quint32 | GetMinimalVersion (int versionId) const |
| Get minimal needed version to correct storing of this data. | |
Public Member Functions inherited from istd::IChangeable | |
| virtual int | GetSupportedOperations () const |
| Get set of flags for supported operations. | |
| virtual bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) |
| Copy this object from another one. | |
| virtual bool | IsEqual (const IChangeable &object) const |
| Compare this object with another object. | |
| virtual istd::TUniqueInterfacePtr< istd::IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const |
| Make a copy of this object. | |
| virtual bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) |
| Reset data to its default state. | |
| virtual void | BeginChanges (const ChangeSet &changeSet) |
| Starts the change transaction. | |
| virtual void | EndChanges (const ChangeSet &changeSet) |
| Ends the change transaction. | |
| virtual void | BeginChangeGroup (const ChangeSet &changeSet) |
| Starts group of changes. | |
| virtual void | EndChangeGroup (const ChangeSet &changeSet) |
| Ends group of changes. | |
Public Member Functions inherited from istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
Additional Inherited Members | |
Static Public Member Functions inherited from istd::IChangeable | |
| static const ChangeSet & | GetNoChanges () |
| Get empty set of changes. | |
| static const ChangeSet & | GetAnyChange () |
| Get anonymous change set. | |
| static const ChangeSet & | GetAllChanges () |
| Get anonymous change set. | |
| static const ChangeSet & | GetDelegatedChanges () |
| Get delegated change set. | |
Protected Member Functions inherited from istd::IChangeable | |
| virtual void | OnBeginChanges () |
| Callback function for begin change event. | |
| virtual void | OnEndChanges (const ChangeSet &changeSet) |
| Callback function for end change event. | |
Represents a parameter which can change its type.
IVariableParam provides a dynamic parameter that can hold different types of parameters at runtime. It's useful for scenarios where the parameter type needs to be determined or changed based on context, user selection, or configuration.
Each type is identified by a unique QByteArray type ID. The parameter can be assigned different types, and the current parameter instance is accessible through the interface.
Definition at line 82 of file IVariableParam.h.
| typedef QSet<QByteArray> iprm::IVariableParam::TypeIds |
Definition at line 85 of file IVariableParam.h.
|
pure virtual |
Assign type ID to this object.
Changes the type of this variable parameter by creating an internal instance of the specified parameter type.
| typeId | Type identifier from the set of known types. Must be one of the IDs returned by GetKnownTypeIds(). |
Implemented in iprm::CVariableParamComp.
|
pure virtual |
Get list of all known type IDs.
Returns the set of type identifiers that this variable parameter can be assigned to.
Implemented in iprm::CVariableParamComp.
|
pure virtual |
Get current parameter instance.
Returns a pointer to the actual parameter object currently instantiated. The returned pointer must be cast to the appropriate interface based on the current type ID.
Implemented in iprm::CVariableParamComp.
|
pure virtual |
Get type ID of current stored parameter.
Returns the type identifier of the parameter currently instantiated.
Implemented in iprm::CVariableParamComp.