![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Common class for all classes which objects can be archived or restored from archive. More...
#include <ISerializable.h>
Inherits istd::IChangeable.
Inherited by ialgo::TIHoughSpace< 2 > [virtual]
, ialgo::TIHoughSpace< Dimensions, double > [virtual]
, ibase::TSerializableContainer< QPair< std::shared_ptr< InterfaceClass >, QByteArray > > [virtual]
, icmm::TComposedColor< 3 > [virtual]
, icmm::TComposedColor< 4 > [virtual]
, imath::TFulcrumGrid< Argument, Fulcrums > [virtual]
, imeas::TMeasurementValue< double > [virtual]
, istd::TCachedUpdateManagerWrap< iser::ISerializable > [virtual]
, i2d::CTubeNode, i2d::ITransformation2d [virtual]
, ialgo::TIHoughSpace< Dimensions, Element > [virtual]
, iattr::CAttributesManager [virtual]
, iauth::CUser [virtual]
, iauth::IUsersManager [virtual]
, ibase::TSerializableContainer< ItemClass, ContainerType > [virtual]
, icalib::CPointGrid [virtual]
, icam::IExposureParams [virtual]
, icmm::CVarColor [virtual]
, icmm::TComposedColor< Size > [virtual]
, icomp::CCachedEnvironmentManager, icomp::CComponentAddress, icomp::CConfigurationInfo, icomp::IRegistry [virtual]
, icomp::IRegistryElement [virtual]
, idoc::CStandardDocumentMetaInfo [virtual]
, idoc::ITextDocument [virtual]
, ifile::IFileNameParam [virtual]
, ifileproc::IFileNamingParams [virtual]
, iinsp::IInspectionTask [virtual]
, iipr::CMultiBitmapCacheComp [virtual]
, iipr::CRenderedObjectFileLoaderComp [virtual]
, iipr::IBlobFilterParams [virtual]
, iipr::ICaliperFinderParams [virtual]
, iipr::ICaliperParams [virtual]
, iipr::IConvolutionKernel2d [virtual]
, iipr::IImageInterpolationParams [virtual]
, iipr::IProjectionParams [virtual]
, iipr::IRingPatternGeneratorParams [virtual]
, iipr::ISearchParams [virtual]
, ilog::IMessageContainer [virtual]
, imath::CGeneralUnitInfo [virtual]
, imath::TFulcrumGrid< Position, Fulcrums > [virtual]
, imath::TMultidimensionalPolynomial< Dimensions, Element > [virtual]
, imeas::CSimpleDataStatistics [virtual]
, imeas::IDataSequence [virtual]
, imeas::IDataSequenceInfo [virtual]
, imeas::IDataSequenceStatistics [virtual]
, imeas::ILinearAdjustParams [virtual]
, imeas::INumericValue [virtual]
, imeas::TMeasurementValue< ValueType > [virtual]
, iprm::IEnableableParam [virtual]
, iprm::IIdParam [virtual]
, iprm::INameParam [virtual]
, iprm::ISelectionParam [virtual]
, iprm::ITextParam [virtual]
, iprm::IVariableParam [virtual]
, iser::IObject [virtual]
, isig::IPulseParams [virtual]
, isig::ISamplingParams [virtual]
, and isig::ITriggerParams [virtual]
.
Public Member Functions | |
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. | |
![]() | |
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 std::unique_ptr< 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 QMutex * | GetChangesLock () const |
Get mutex beeing locked during changes, if available. | |
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. | |
Additional Inherited Members | |
![]() | |
enum | ChangeFlags { CF_ICF_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 , SO_CHANGE_LOCK = 1 << 5 } |
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... | |
![]() | |
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. | |
![]() | |
virtual void | OnBeginChanges () |
Callback function for begin change event. | |
virtual void | OnEndChanges (const ChangeSet &changeSet) |
Callback function for end change event. | |
Common class for all classes which objects can be archived or restored from archive.
Definition at line 24 of file ISerializable.h.
|
inlinevirtual |
Get minimal needed version to correct storing of this data.
In implementation shold be calculated maximum version of this and composed component.
Reimplemented in iprm::CComposedParamsSetComp, iprm::CParamsSet, and iprm::CVariableParamComp.
Definition at line 43 of file ISerializable.h.
|
pure virtual |
Load or store state of this object as a archive stream.
Type of operation is depending on archive type.
Implemented in i2d::CAffineTransformation2d, i2d::CAnnulus, i2d::CAnnulusSegment, i2d::CArc, i2d::CCircle, i2d::CDataNodePolylineBase, i2d::CLabel, i2d::CLine2d, i2d::COrientedCircle, i2d::COrientRectangle, i2d::CParallelogram, i2d::CPolyline, i2d::CPolypoint, i2d::CPosition2d, i2d::CQuadrangle, i2d::CRectangle, i2d::CTubeNode, ialgo::TGeneralHoughSpace< Dimensions, Element >, iattr::CAttributesManager, iattr::TAttribute< Value >, iattr::TAttribute< bool >, iattr::TAttribute< double >, iattr::TMultiAttribute< Value >, iattr::TMultiAttribute< double >, iauth::CRightsBasedEnablerComp, iauth::CUser, iauth::CUsersManagerComp, ibase::TFactorisableContainer< InterfaceClass >, ibase::TSerializableContainer< ItemClass, ContainerType >, ibase::TSerializableContainer< QPair< std::shared_ptr< InterfaceClass >, QByteArray > >, icalib::CCalibration2dProxyComp, icalib::CNoneCalibration2d, icalib::CPerspectiveCalibration2d, icalib::CPointGrid, icalib::CSimpleLensCorrection, icam::CExposureParamsComp, icam::CSelectionParamCameraComp::JoinParamsSet, icmm::CCmy, icmm::CCmyk, icmm::CHsv, icmm::CLab, icmm::CRgb, icmm::CVarColor, icmm::TComposedColor< Size >, icmm::TComposedColor< 3 >, icmm::TComposedColor< 4 >, icmpstr::CVisualRegistry, icomp::CCachedEnvironmentManager, icomp::CComponentAddress, icomp::CConfigurationInfo, icomp::CRegistry, icomp::CRegistryElement, idoc::CStandardDocumentMetaInfo, idoc::CTextDocumentComp, idoc::TMultiPageDocumentWrap< Base >, idoc::TMultiPageDocumentWrap< idoc::IMultiPageDocument >, ifile::CFileNameParam, ifile::CRelativeFileNameParamComp, ifile::CSystemLocationComp, ifileproc::CFileNamingParams, iimg::CBitmapBase, iimg::CScanlineMask, iinsp::CInspectionTaskComp::Parameters, iinsp::CInspectionTaskComp, iipr::CBlobFeature, iipr::CBlobFilterParams, iipr::CCaliperFeature, iipr::CCaliperFinderParams, iipr::CCaliperParams, iipr::CConvolutionKernel2d, iipr::CImageInterpolationParams, iipr::CMultiBitmapCacheComp, iipr::CObjectFeature, iipr::CRenderedObjectFileLoaderComp, iipr::CRingPatternGeneratorParamsComp, iipr::CSearchFeature, iipr::CSearchParams, iipr::TWeightedFeatureWrap< BaseObject >, iipr::TWeightedFeatureWrap< i2d::CLine2d >, iipr::TWeightedFeatureWrap< i2d::CPosition2d >, iipr::TWeightedFeatureWrap< icalib::CPointGrid >, iiprgui::CMultiLineSupplierGuiComp::LineSelection, ilog::CExtMessage, ilog::CMessage, ilog::TExtMessage< Element >, imath::CGeneralUnitInfo, imath::TFulcrumGrid< Position, Fulcrums >, imath::TFulcrumGrid< Argument, Fulcrums >, imath::TMultidimensionalPolynomial< Dimensions, Element >, imeas::CDataSequenceStatistics, imeas::CGeneralDataSequence, imeas::CGeneralDataSequenceInfo, imeas::CGeneralNumericValue, imeas::CLinearAdjustParamsComp, imeas::CRelativeUnitSelectorComp, imeas::CSamplesInfo, imeas::CSimpleDataStatistics, imeas::TDiscreteDataSequence< Element >, imeas::TMeasurementValue< ValueType >, imeas::TMeasurementValue< double >, iprm::CComposedParamsSetComp, iprm::CEnableableParam, iprm::CIdParam, iprm::CMultiParamsManagerComp, iprm::CNameParam, iprm::COptionsManager, iprm::CParamsManagerComp, iprm::CParamsManagerCompBase::ParamSet, iprm::CParamsManagerCompBase::SelectedParams, iprm::CParamsManagerCompBase::UuidParam, iprm::CParamsSet, iprm::CParamsSetDelegatorComp, iprm::CSelectableParamsSetComp, iprm::CSelectionParam, iprm::CTextParam, iprm::CVariableParamComp, isig::CPulseParamsComp, isig::CSamplingParamsComp, isig::CTriggerParamsComp, and istdgui::CHierarchicalCommand.
Referenced by ifile::TFileSerializerComp< ReadArchive, WriteArchive >::LoadFromFile(), ifile::TXmlFileSerializerComp< ReadArchive, WriteArchive >::LoadFromFile(), ibase::TFactorisableContainer< InterfaceClass >::SerializeItem(), and idoc::TMultiPageDocumentWrap< Base >::SerializePage().
© Witold Gantzke and Kirill Lepskiy