ICF 3.1.1.10
Technical documentation of ICF Libraries
IVersionInfo.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#pragma once
7
8
9// Qt includes
10#include <QtCore/QString>
11#include <QtCore/QSet>
12
13// ICF includes
14#include <istd/IChangeable.h>
15
16
17namespace iser
18{
19
20
26class IVersionInfo: virtual public istd::IChangeable
27{
28public:
36 {
39 UserVersionId = 1024
40 };
41
42 enum
43 {
47 UnknownVersion = 0xffffffff
48 };
49
50 typedef QSet<int> VersionIds;
51
55 virtual VersionIds GetVersionIds() const = 0;
56
65 virtual bool GetVersionNumber(int versionId, quint32& result) const = 0;
66
73 virtual QString GetVersionIdDescription(int versionId) const = 0;
74
78 virtual QString GetEncodedVersionName(int versionId, quint32 versionNumber) const = 0;
79};
80
81
82} // namespace iser
83
84
Provides access to version information.
virtual QString GetEncodedVersionName(int versionId, quint32 versionNumber) const =0
Encode version number to human readable form.
@ UnknownVersion
Biggest version value used if no version is needed or known.
virtual bool GetVersionNumber(int versionId, quint32 &result) const =0
Get version of archived stream for specific versioning type.
virtual VersionIds GetVersionIds() const =0
Get list of version ID's.
VersionId
Type of version.
QSet< int > VersionIds
virtual QString GetVersionIdDescription(int versionId) const =0
Get description of version ID.
Common interface for data model objects, which can be changed.
Definition IChangeable.h:32
Contains general persistence mechanism with basic archives implementations.

© Witold Gantzke and Kirill Lepskiy