]> git.saurik.com Git - cydia.git/commitdiff
Add package.state.
authorJay Freeman (saurik) <saurik@saurik.com>
Fri, 25 Feb 2011 03:38:02 +0000 (19:38 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Mon, 7 Mar 2011 10:41:17 +0000 (02:41 -0800)
MobileCydia.mm

index 2d5b831b6ef6b3acf6fa20b0d7617b3cee466431..249f6f0d89adb965fa03b6a8f7c91f7c2838a9a8 100644 (file)
@@ -2366,6 +2366,7 @@ struct PackageNameOrdering :
         @"size",
         @"source",
         @"sponsor",
+        @"state",
         @"support",
         @"tags",
         @"warnings",
@@ -2916,6 +2917,33 @@ struct PackageNameOrdering :
     return files;
 }
 
+- (NSString *) state {
+@synchronized (database_) {
+    if ([database_ era] != era_ || file_.end())
+        return nil;
+
+    switch (iterator_->CurrentState) {
+        case pkgCache::State::NotInstalled:
+            return @"NotInstalled";
+        case pkgCache::State::UnPacked:
+            return @"UnPacked";
+        case pkgCache::State::HalfConfigured:
+            return @"HalfConfigured";
+        case pkgCache::State::HalfInstalled:
+            return @"HalfInstalled";
+        case pkgCache::State::ConfigFiles:
+            return @"ConfigFiles";
+        case pkgCache::State::Installed:
+            return @"Installed";
+        case pkgCache::State::TriggersAwaited:
+            return @"TriggersAwaited";
+        case pkgCache::State::TriggersPending:
+            return @"TriggersPending";
+    }
+
+    return (NSString *) [NSNull null];
+} }
+
 - (NSArray *) warnings {
     NSMutableArray *warnings([NSMutableArray arrayWithCapacity:4]);
     const char *name(iterator_.Name());