Database *database([Database sharedInstance]);
- if ([command isEqualToString:@"package-icon"]) {
+ if (false);
+ else if ([command isEqualToString:@"application-icon"]) {
+ if (path == nil)
+ goto fail;
+ path = [path stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+ NSData *data([SBSCopyIconImagePNGDataForDisplayIdentifier(path) autorelease]);
+ UIImage *icon;
+ if (data == nil)
+ icon = [UIImage imageNamed:@"unknown.png"];
+ else
+ icon = [UIImage imageWithData:data];
+ [self _returnPNGWithImage:icon forRequest:request];
+ } else if ([command isEqualToString:@"package-icon"]) {
if (path == nil)
goto fail;
path = [path stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
extern "C" int SBBundlePathForDisplayIdentifier(mach_port_t port, const char *identifier, char *path);
extern "C" NSSet *SBSCopyDisplayIdentifiers();
extern "C" NSString *SBSCopyLocalizedApplicationNameForDisplayIdentifier(NSString *);
+extern "C" NSData *SBSCopyIconImagePNGDataForDisplayIdentifier(NSString *);
extern "C" UIImage *_UIImageWithName(NSString *name);
extern "C" void UISetColor(CGColorRef color);
// }}}