Public Types | Public Member Functions | List of all members
iser::IVersionInfo Class Referenceabstract

Provides access to version information. More...

#include <IVersionInfo.h>

Inheritance diagram for iser::IVersionInfo:
istd::IChangeable istd::IPolymorphic ibase::CApplicationInfoComp ibase::CVersionInfoComp ibase::TVersionInfoBase< BaseComponent > iser::CArchiveHeaderInfo iser::CMinimalVersionInfo iser::CWriteArchiveBase::EmptyVersionInfo ibase::CQtVersionInfoComp

Public Types

enum  VersionId { AcfVersionId = 0, QtVersionId = 1023, UserVersionId = 1024 }
 Type of version. More...
 
enum  { UnknownVersion = 0xffffffff }
 
typedef QSet< int > VersionIds
 
- 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...
 

Public Member Functions

virtual VersionIds GetVersionIds () const =0
 Get list of version ID's. More...
 
virtual bool GetVersionNumber (int versionId, quint32 &result) const =0
 Get version of archived stream for specific versioning type. More...
 
virtual QString GetVersionIdDescription (int versionId) const =0
 Get description of version ID. More...
 
virtual QString GetEncodedVersionName (int versionId, quint32 versionNumber) const =0
 Encode version number to human readable form. More...
 
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations. More...
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one. More...
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object. More...
 
virtual IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object. More...
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state. More...
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction. More...
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction. More...
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes. More...
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes. More...
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set. More...
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set. More...
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set. More...
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event. More...
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event. More...
 

Detailed Description

Provides access to version information.

Definition at line 22 of file IVersionInfo.h.

Member Typedef Documentation

typedef QSet<int> iser::IVersionInfo::VersionIds

Definition at line 45 of file IVersionInfo.h.

Member Enumeration Documentation

anonymous enum
Enumerator
UnknownVersion 

Biggest version value used if no version is needed or known.

Definition at line 38 of file IVersionInfo.h.

Type of version.

This is needed for the sake of supporting mutliply separated versions for separated modules. Whole ACF framework lay under single versioning mechanism and has one version number identified by AcfVersionId type ID. User version type ID should be greater or equal UserVersionId value.

Enumerator
AcfVersionId 
QtVersionId 
UserVersionId 

Definition at line 31 of file IVersionInfo.h.

Member Function Documentation

virtual QString iser::IVersionInfo::GetEncodedVersionName ( int  versionId,
quint32  versionNumber 
) const
pure virtual
virtual QString iser::IVersionInfo::GetVersionIdDescription ( int  versionId) const
pure virtual

Get description of version ID.

Parameters
versionIdversioning type. It allows you to distinguish different version aspects. For example version number of framework cann differ from application version.
See Also
VersionId, GetVersionNumber.

Implemented in iser::CArchiveHeaderInfo, ibase::CApplicationInfoComp, iser::CMinimalVersionInfo, iser::CWriteArchiveBase::EmptyVersionInfo, ibase::CQtVersionInfoComp, ibase::CVersionInfoComp, and ibase::TVersionInfoBase< BaseComponent >.

virtual VersionIds iser::IVersionInfo::GetVersionIds ( ) const
pure virtual
virtual bool iser::IVersionInfo::GetVersionNumber ( int  versionId,
quint32 &  result 
) const
pure virtual

Get version of archived stream for specific versioning type.

Parameters
versionIdversioning type. It allows you to distinguish different version aspects. For example version number of framework cann differ from application version.
See Also
VersionId.
Parameters
resultoutput version number. For unknown version it will be set to bigg number to indicate of using the newest version.
Returns
true, if version is known.

Implemented in iser::CArchiveHeaderInfo, ibase::CApplicationInfoComp, iser::CMinimalVersionInfo, iser::CWriteArchiveBase::EmptyVersionInfo, ibase::CQtVersionInfoComp, ibase::CVersionInfoComp, and ibase::TVersionInfoBase< BaseComponent >.

Referenced by ilog::TExtMessage< Element >::Serialize().


The documentation for this class was generated from the following file:

© 2007-2017 Witold Gantzke and Kirill Lepskiy