summaryrefslogtreecommitdiff
path: root/noncore/unsupported/oipkg/package.cpp
Side-by-side diff
Diffstat (limited to 'noncore/unsupported/oipkg/package.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/package.cpp58
1 files changed, 57 insertions, 1 deletions
diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp
index 9280d89..c947c64 100644
--- a/noncore/unsupported/oipkg/package.cpp
+++ b/noncore/unsupported/oipkg/package.cpp
@@ -31,2 +31,3 @@ void Package::init( PackageManagerSettings *s )
_useFileName = false;
+ _old = false;
_status = "";
@@ -34,2 +35,3 @@ void Package::init( PackageManagerSettings *s )
_link = settings->createLinks();
+ _versions=0;
}
@@ -130,3 +132,30 @@ bool Package::installed()
{
- return _status.contains("installed");
+ if (_status.contains("installed")) return true;
+ else
+ if (_versions)
+ {
+ QDictIterator<Package> other( *_versions );
+ while ( other.current() )
+ {
+ if (other.current()->status().contains("installed")
+ && other.current()->version() == version())
+ return true;
+ ++other;
+ }
+ }
+ return false;
+}
+
+bool Package::otherInstalled()
+{
+ if (_versions)
+ {
+ QDictIterator<Package> other( *_versions );
+ while ( other.current() )
+ {
+ if (other.current()->installed()) return true;
+ ++other;
+ }
+ }
+ return false;
}
@@ -372 +401,28 @@ QString Package::status()
}
+
+bool Package::isOld()
+{
+ if (!_versions) return false;
+ QDictIterator<Package> other( *_versions );
+ while ( other.current() ) {
+ if (other.current()->version() > version() ) return true;
+ ++other;
+ }
+ return false;
+}
+
+bool Package::hasVersions()
+{
+ if (!_versions) return false;
+ else return true;
+}
+
+QDict<Package>* Package::getOtherVersions()
+{
+ return _versions;
+}
+
+void Package::setOtherVersions(QDict<Package> *v)
+{
+ _versions=v;
+}