App manager: database names, data sizes, faster discovery

This commit is contained in:
admin committed 2026-11-11 15:46:27 +08:00
1 parent 168a89cb8a
commit 0e5851c521
6 files changed
+1280 -65

No files matched your search

+26
View File
@@ -0,0 +1,26 @@
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/// Reads lsd's LaunchServices CSStore database (bundle names, display names,
/// data-container mapping and .app bundle paths). The first call is blocking;
/// run it on a background queue.
BOOL WQLoadLaunchServicesDatabase(void);
BOOL WQLSDisplayNamesLoaded(void);
void WQLSResetMiss(void);
/// Real display name for a bundle id (database, built-in Apple table, or
/// parent-app fallback).
NSString *_Nullable WQLSDisplayName(NSString *bundleID);
/// Bundle id for an app/extension data container.
NSString *_Nullable WQLSBundleIDForContainer(NSString *path);
/// .app bundle path from the database (used for icons where readable).
NSString *_Nullable WQLSBundlePathForIdentifier(NSString *bundleID);
/// App and extension data-container paths listed by the database. Reading the
/// store is much faster than enumerating every inode. Nil when unavailable.
NSArray<NSString *> *_Nullable WQLSContainerPaths(void);
NS_ASSUME_NONNULL_END