]> git.saurik.com Git - cydia.git/commitdiff
Provide the entire package record via JavaScript.
authorJay Freeman (saurik) <saurik@saurik.com>
Mon, 28 Oct 2013 03:12:13 +0000 (20:12 -0700)
committerJay Freeman (saurik) <saurik@saurik.com>
Mon, 28 Oct 2013 03:12:13 +0000 (20:12 -0700)
MobileCydia.mm

index 38f6db1fc4ff75e3d4a9f04d697270baa6d8d15b..8ffb37da416a218205f17271c9c0288e3a95bbfa 100644 (file)
@@ -2118,6 +2118,8 @@ struct PackageNameOrdering :
         return @"clear";
     else if (selector == @selector(getField:))
         return @"getField";
+    else if (selector == @selector(getRecord))
+        return @"getRecord";
     else if (selector == @selector(hasTag:))
         return @"hasTag";
     else if (selector == @selector(install))
@@ -2202,6 +2204,19 @@ struct PackageNameOrdering :
     return [NSString stringWithString:[(NSString *) CYStringCreate(start, end - start) autorelease]];
 } }
 
+- (NSString *) getRecord {
+@synchronized (database_) {
+    if ([database_ era] != era_ || file_.end())
+        return nil;
+
+    pkgRecords::Parser &parser([database_ records]->Lookup(file_));
+
+    const char *start, *end;
+    parser.GetRec(start, end);
+
+    return [NSString stringWithString:[(NSString *) CYStringCreate(start, end - start) autorelease]];
+} }
+
 - (void) parse {
     if (parsed_ != NULL)
         return;