ACF $AcfVersion:0$
CWriteArchiveBase.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
6#include <iser/IVersionInfo.h>
7#include <iser/CArchiveBase.h>
8
9
10namespace iser
11{
12
13
20{
21public:
22 // reimplemented (iser::IArchive)
23 virtual bool IsStoring() const override;
24 virtual const IVersionInfo& GetVersionInfo() const override;
25 virtual bool ProcessBits(void* dataPtr, int bitsCount, int bytesCount) override;
26
27protected:
33 explicit CWriteArchiveBase(const IVersionInfo* versionInfoPtr);
34
40
41 class EmptyVersionInfo: virtual public IVersionInfo
42 {
43 public:
44 // reimplemented (iser::IVersionInfo)
45 virtual bool GetVersionNumber(int versionId, quint32& result) const override;
46 virtual QString GetVersionIdDescription(int versionId) const override;
47 virtual VersionIds GetVersionIds() const override;
48 virtual QString GetEncodedVersionName(int versionId, quint32 versionNumber) const override;
49 };
50
51private:
52 const IVersionInfo* m_versionInfoPtr;
53
54 // static attributes
55 static EmptyVersionInfo s_emptyVersionInfo;
56};
57
58
59} // namespace iser
60
61
62
63
Base implementation of iser::IArchive interface.
virtual QString GetVersionIdDescription(int versionId) const override
Get description of version ID.
virtual bool GetVersionNumber(int versionId, quint32 &result) const override
Get version of archived stream for specific versioning type.
virtual QString GetEncodedVersionName(int versionId, quint32 versionNumber) const override
Encode version number to human readable form.
virtual VersionIds GetVersionIds() const override
Get list of version ID's.
Basic implementation of an abstract archive for data writting.
virtual const IVersionInfo & GetVersionInfo() const override
Gets version information for the archived stream.
bool SerializeAcfHeader()
Serialize standard header.
virtual bool IsStoring() const override
Checks if this archive is in storing (writing) or loading (reading) mode.
CWriteArchiveBase(const IVersionInfo *versionInfoPtr)
Constructor.
virtual bool ProcessBits(void *dataPtr, int bitsCount, int bytesCount) override
Process binary data block.
Provides access to version information.
QSet< int > VersionIds
Contains general persistence mechanism with basic archives implementations.