remove stream in multiversions
All checks were successful
buildbot/DocsGenerator Build finished.
buildbot/LinuxCMakeBuilderQt6 Build finished.

This commit is contained in:
Andrei Yankovich 2025-03-01 10:04:46 +01:00
parent b4ad53ced9
commit ba0ab43f87
2 changed files with 42 additions and 24 deletions

View File

@ -7,18 +7,15 @@ StreamMultiversion::StreamMultiversion() {
}
QDataStream &StreamMultiversion::fromStream(QDataStream &stream) {
stream >> _realVersion ;
return stream;
void StreamMultiversion::saveVersion(char version, QDataStream &stream) const {
stream << version;
}
QDataStream &StreamMultiversion::toStream(QDataStream &stream) const {
stream << _realVersion;
char StreamMultiversion::readVersion(QDataStream &stream) const {
char version;
stream >> version;
return stream;
}
return version;
int StreamMultiversion::realVersion() const {
return _realVersion;
}
}

View File

@ -14,6 +14,26 @@ namespace QH {
/**
* @brief The StreamMultiversion class this parser works with simple multiversion packages.
*
* This class used to save and read version of the object in file.
*
* @see StreamBase
*
* @code{cpp}
* class myClass: public StreamMultiversion {
* protected:
* QDataStream &fromStream(QDataStream &stream) override {
* char version = readVersion();
* return stream;
* }
*
* QDataStream &toStream(QDataStream &stream) const override {
* saveVersion(1, stream);
* return stream;
* }
*
* }
*
*/
class HEARTSHARED_EXPORT StreamMultiversion: public StreamBase
{
@ -22,26 +42,27 @@ public:
StreamMultiversion();
// StreamBase interface
/**
* @brief version override this method to sets version of package.
* @return
*/
virtual int version() const = 0;
/**
* @brief realVersion This method return value of the version that was be saved in the bytes array.
* @return
* @note use this method to check version of read package in the fromStream method..
* @brief saveVersion save version of the object to the stream.
* @param version - version of the object.
* @param stream - stream to save.
*
* This method used to save version of the object in file.
* @see toStream
*/
virtual int realVersion() const;
protected:
QDataStream &fromStream(QDataStream &stream) override;
QDataStream &toStream(QDataStream &stream) const override;
void saveVersion(char version, QDataStream &stream) const;
/**
* @brief readVersion read version of the object from the stream.
* @param stream - stream to read.
* @return version of the object.
* @see fromStream
*/
char readVersion(QDataStream &stream) const;
private:
int _realVersion = 0;
};
}
#endif // STREAMMULTIVERSION_H