MultiMC5/launcher/java/JavaVersion.h

50 lines
886 B
C
Raw Normal View History

#pragma once
#include <QString>
// NOTE: apparently the GNU C library pollutes the global namespace with these... undef them.
#ifdef major
2018-07-15 12:51:05 +00:00
#undef major
#endif
#ifdef minor
2018-07-15 12:51:05 +00:00
#undef minor
#endif
class JavaVersion
{
2018-07-15 12:51:05 +00:00
friend class JavaVersionTest;
public:
2018-07-15 12:51:05 +00:00
JavaVersion() {};
JavaVersion(const QString & rhs);
JavaVersion & operator=(const QString & rhs);
bool operator<(const JavaVersion & rhs);
bool operator==(const JavaVersion & rhs);
bool operator>(const JavaVersion & rhs);
bool requiresPermGen();
QString toString();
int major()
{
return m_major;
}
int minor()
{
return m_minor;
}
int security()
{
return m_security;
}
private:
2018-07-15 12:51:05 +00:00
QString m_string;
int m_major = 0;
int m_minor = 0;
int m_security = 0;
bool m_parseable = false;
QString m_prerelease;
};