aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/PDFVersion.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf/PDFVersion.cc')
-rw-r--r--libqpdf/PDFVersion.cc69
1 files changed, 69 insertions, 0 deletions
diff --git a/libqpdf/PDFVersion.cc b/libqpdf/PDFVersion.cc
new file mode 100644
index 00000000..c2f28bf8
--- /dev/null
+++ b/libqpdf/PDFVersion.cc
@@ -0,0 +1,69 @@
+#include <qpdf/PDFVersion.hh>
+
+#include <qpdf/QUtil.hh>
+
+PDFVersion::PDFVersion() :
+ PDFVersion(0, 0, 0)
+{
+}
+
+PDFVersion::PDFVersion(int major, int minor, int extension) :
+ major(major),
+ minor(minor),
+ extension(extension)
+{
+}
+
+bool
+PDFVersion::operator<(PDFVersion const& rhs) const
+{
+ return ((this->major < rhs.major) ? true :
+ (this->major > rhs.major) ? false :
+ (this->minor < rhs.minor) ? true :
+ (this->minor > rhs.minor) ? false :
+ (this->extension < rhs.minor) ? true :
+ false);
+}
+
+bool
+PDFVersion::operator==(PDFVersion const& rhs) const
+{
+ return ((this->major == rhs.major) &&
+ (this->minor == rhs.minor) &&
+ (this->extension == rhs.extension));
+}
+
+void
+PDFVersion::updateIfGreater(PDFVersion const& other)
+{
+ if (*this < other)
+ {
+ *this = other;
+ }
+}
+
+void
+PDFVersion::getVersion(std::string& version, int& extension_level) const
+{
+ extension_level = this->extension;
+ version = QUtil::int_to_string(this->major) + "." +
+ QUtil::int_to_string(this->minor);
+}
+
+int
+PDFVersion::getMajor() const
+{
+ return this->major;
+}
+
+int
+PDFVersion::getMinor() const
+{
+ return this->minor;
+}
+
+int
+PDFVersion::getExtensionLevel() const
+{
+ return this->extension;
+}