All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Brief description of class still missing. More...
#include <Version.h>
Public Member Functions | |
| bool | compatible (const Version &v) const |
| bool | operator< (const Version &v) const |
| void | operator= (const Version &v) |
| bool | operator== (const Version &v) const |
| bool | operator> (const Version &v) const |
| QString | toString () const |
| Version (int a=0, int b=0, int c=0, const QString &name=QString::null) | |
| Version (const QString &v) | |
| Version (const Version &v) | |
Brief description of class still missing.
Full description of class still missing
| QGpCoreTools::Version::Version | ( | int | a = 0, |
| int | b = 0, |
||
| int | c = 0, |
||
| const QString & | name = QString::null |
||
| ) |
{
_a=a;
_b=b;
_c=c;
_releaseName=name;
}
| QGpCoreTools::Version::Version | ( | const QString & | v | ) |
References QGpCoreTools::StringSection::isValid(), QGpCoreTools::StringSection::nextField(), QGpCoreTools::StringSection::toInt(), and QGpCoreTools::StringSection::toString().
{
StringSection vs(v);
bool ok=true;
const QChar * ptr=0;
_a=vs.nextField(ptr, ".").toInt(&ok);
if(!ok) {
parseError(v);
_b=0;
_c=0;
return;
}
_b=vs.nextField(ptr, ".").toInt(&ok);
if(!ok) {
parseError(v);
_c=0;
return;
}
_c=vs.nextField(ptr, "-", false).toInt(&ok);
if(!ok) {
parseError(v);
return;
}
StringSection rn=vs.nextField(ptr, " ");
if(rn.isValid()) {
_releaseName=rn.toString();
}
}
| QGpCoreTools::Version::Version | ( | const Version & | v | ) | [inline] |
{operator=(v);}
| bool QGpCoreTools::Version::compatible | ( | const Version & | v | ) | const |
Referenced by GeopsyCore::GeopsyCoreInterface::isValid(), SciFigs::SciFigsPlugin::isValid(), and DinverCore::DinverInterface::isValid().
{
return _a==v._a && _b==v._b;
}
| bool QGpCoreTools::Version::operator< | ( | const Version & | v | ) | const |
{
if(_a==0 && _b==0 && _c==0) { // devel release
if(v._a==0 && v._b==0 && v._c==0) {
if(_releaseName.isEmpty()) return false;
if(v._releaseName.isEmpty()) return true;
return _releaseName<v._releaseName;
} else {
return false; // devel and stable/testing cannot be compared
// devel is assumed to be more recent
}
} else if(v._a==0 && v._b==0 && v._c==0) { // devel release
return true; // devel and stable/testing cannot be compared
// devel is assumed to be more recent
} else {
if(_a<v._a) return true;
else if(_a>v._a) return false;
if(_b<v._b) return true;
else if(_b>v._b) return false;
if(_c<v._c) return true;
else if(_c>v._c) return false;
if(_releaseName.isEmpty()) return false;
if(v._releaseName.isEmpty()) return true;
return _releaseName<v._releaseName;
}
}
| void QGpCoreTools::Version::operator= | ( | const Version & | v | ) |
{
_a=v._a;
_b=v._b;
_c=v._c;
_releaseName=v._releaseName;
}
| bool QGpCoreTools::Version::operator== | ( | const Version & | v | ) | const |
{
return _a==v._a && _b==v._b && _c==v._c && _releaseName==v._releaseName;
}
| bool QGpCoreTools::Version::operator> | ( | const Version & | v | ) | const |
{
if(_a==0 && _b==0 && _c==0) { // devel release
if(v._a==0 && v._b==0 && v._c==0) {
if(_releaseName.isEmpty()) return true;
if(v._releaseName.isEmpty()) return false;
return _releaseName>v._releaseName;
} else {
return true; // devel and stable/testing cannot be compared
// devel is assumed to be more recent
}
} else if(v._a==0 && v._b==0 && v._c==0) { // devel release
return false; // devel and stable/testing cannot be compared
// devel is assumed to be more recent
} else {
if(_a<v._a) return false;
else if(_a>v._a) return true;
if(_b<v._b) return false;
else if(_b>v._b) return true;
if(_c<v._c) return false;
else if(_c>v._c) return true;
if(v._releaseName.isEmpty()) return false;
if(_releaseName.isEmpty()) return true;
return _releaseName>v._releaseName;
}
}
| QString QGpCoreTools::Version::toString | ( | ) | const |
{
QString s;
s+=QString::number(_a);
s+=".";
s+= QString::number(_b);
s+=".";
s+= QString::number(_c);
if(!_releaseName.isEmpty()) {
s+="-";
s+=_releaseName;
}
return s;
}