} }
- (NSString *) shortDescription {
- return parsed_ == NULL ? nil : static_cast<NSString *>(parsed_->tagline_);
-}
+ if (parsed_ != NULL)
+ return static_cast<NSString *>(parsed_->tagline_);
+
+@synchronized (database_) {
+ pkgRecords::Parser &parser([database_ records]->Lookup(file_));
+
+ const char *start, *end;
+ if (!parser.ShortDesc(start, end))
+ return nil;
+
+ if (end - start > 100)
+ end = start + 100;
+
+ /*
+ if (const char *stop = reinterpret_cast<const char *>(memchr(start, '\n', end - start)))
+ end = stop;
+
+ while (end != start && end[-1] == '\r')
+ --end;
+ */
+
+ return [(id) CYStringCreate(start, end - start) autorelease];
+} }
- (unichar) index {
_profile(Package$index)
NSRange range;
NSUInteger length;
- [self parse];
-
string = [self name];
length = [string length];
bool commercial_;
_H<NSString> source_;
_H<UIImage> badge_;
- _H<Package> package_;
_H<UIImage> placard_;
bool summarized_;
}
source_ = nil;
badge_ = nil;
placard_ = nil;
- package_ = nil;
[package parse];
commercial_ = [package isCommercial];
- package_ = package;
-
NSString *label = nil;
bool trusted = false;
UIColor *color;
NSString *placard;
- if (NSString *mode = [package_ mode]) {
+ if (NSString *mode = [package mode]) {
if ([mode isEqualToString:@"REMOVE"] || [mode isEqualToString:@"PURGE"]) {
color = RemovingColor_;
//placard = @"removing";
PackageCell *cell((PackageCell *) [table dequeueReusableCellWithIdentifier:@"Package"]);
if (cell == nil)
cell = [[[PackageCell alloc] init] autorelease];
- [cell setPackage:[self packageAtIndexPath:path] asSummary:[self isSummarized]];
+
+ Package *package([database_ packageWithName:[[self packageAtIndexPath:path] id]]);
+ [cell setPackage:package asSummary:[self isSummarized]];
return cell;
}
PackageCell *cell((PackageCell *) [table dequeueReusableCellWithIdentifier:@"Package"]);
if (cell == nil)
cell = [[[PackageCell alloc] init] autorelease];
- [cell setPackage:[self packageAtIndexPath:path] asSummary:false];
+
+ Package *package([database_ packageWithName:[[self packageAtIndexPath:path] id]]);
+ [cell setPackage:package asSummary:false];
return cell;
}