diff --git a/src/public/streammultiversion.cpp b/src/public/streammultiversion.cpp index e664611..6cafb24 100644 --- a/src/public/streammultiversion.cpp +++ b/src/public/streammultiversion.cpp @@ -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; } } diff --git a/src/public/streammultiversion.h b/src/public/streammultiversion.h index 744a3e1..c1e5dd5 100644 --- a/src/public/streammultiversion.h +++ b/src/public/streammultiversion.h @@ -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