Version.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef UTILS_VERSION_H
00024 #define UTILS_VERSION_H
00025
00026
00027 namespace Utils {
00029
00031
00038 class Version
00039 {
00040 public:
00041 Version (quint16 major = 0, quint16 minor = 0,
00042 quint16 revision = 0, quint16 build = 0);
00043 Version (const QString &stringVersion);
00044 ~Version();
00045
00046 inline quint16 majorVersion() const;
00047 inline quint16 minorVersion() const;
00048 inline quint16 revision() const;
00049 inline quint16 build() const;
00050
00051 inline void setMajorVersion (quint16 major);
00052 inline void setMinorVersion (quint16 minor);
00053 inline void setRevision (quint16 revision);
00054 inline void setBuild (quint16 build);
00055
00056 QString toString (bool shortForm = true) const;
00057
00058 private:
00059
00060 struct Private
00061 {
00062 quint16 major_;
00063 quint16 minor_;
00064 quint16 revision_;
00065 quint16 build_;
00066
00067 Private() : major_ (0), minor_ (0), revision_ (0), build_ (0) {}
00068 } p;
00069
00070 friend QDataStream & operator<< (QDataStream &stream, const Version &version);
00071 friend QDataStream & operator>> (QDataStream &stream, Version &version);
00072 };
00073
00074 QDataStream & operator<< (QDataStream &stream, const Version &version);
00075 QDataStream & operator>> (QDataStream &stream, Version &version);
00076
00078
00080
00081 inline quint16 Version::majorVersion() const
00082 { return p.major_; }
00083
00084 inline quint16 Version::minorVersion() const
00085 { return p.minor_; }
00086
00087 inline quint16 Version::revision() const
00088 { return p.revision_; }
00089
00090 inline quint16 Version::build() const
00091 { return p.build_; }
00092
00093 inline void Version::setMajorVersion (quint16 major_)
00094 { p.major_ = major_; }
00095
00096 inline void Version::setMinorVersion (quint16 minor_)
00097 { p.minor_ = minor_; }
00098
00099 inline void Version::setRevision (quint16 revision_)
00100 { p.revision_ = revision_; }
00101
00102 inline void Version::setBuild (quint16 build_)
00103 { p.build_ = build_; }
00104
00105 inline QString Version::toString (bool shortForm) const
00106 { QString res = QString ("%1.%2").arg (p.major_). arg (p.minor_);
00107 if (!shortForm) res += QString (".%3.%4").arg (p.revision_).arg (p.build_);
00108 return res; }
00109
00110
00111 }
00113
00114 #endif // UTILS_VERSION_H