@class NSString, IMRemoteObject, NSProtocolChecker, IDSDaemonControllerForwarder, NSMutableDictionary, NSSet, IDSDaemonListener, NSObject, IMLocalObject, NSMutableSet; @protocol OS_dispatch_queue, OS_dispatch_group, IDSDaemonProtocol; @interface IDSDaemonController : NSObject { IDSDaemonControllerForwarder *_forwarder; IMLocalObject *_localObject; NSProtocolChecker *_protocol; NSObject *_ivarQueue; NSObject *_daemonConnectedGroup; unsigned long long _connectionID; NSMutableDictionary *_listenerServices; NSSet *_services; NSSet *_cachedServices; NSMutableDictionary *_listenerCommands; NSSet *_commands; NSSet *_cachedCommands; NSMutableDictionary *_listenerCapabilities; unsigned int _cachedCapabilities; unsigned int _lastUpdateCaps; BOOL _hasCheckedForDaemon; BOOL _preventReconnect; BOOL _acquiringDaemonConnection; BOOL _hasBeenSuspended; BOOL _fatalErrorOccured; NSMutableSet *_notificationServices; } @property (setter=_setAutoReconnect:) BOOL _autoReconnect; @property (readonly, nonatomic) NSObject *_remoteMessageQueue; @property (retain, nonatomic) NSObject *connectingQueue; @property (weak, nonatomic) id delegate; @property (readonly, nonatomic) BOOL isConnecting; @property (retain, nonatomic) IMRemoteObject *remoteObject; @property (readonly, nonatomic) NSString *listenerID; @property (readonly, nonatomic) IDSDaemonListener *listener; @property (nonatomic) int curXPCMessagePriority; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)sharedInstance; + (void)_blockUntilSendQueueIsEmpty; + (void)_setApplicationWillTerminate; + (BOOL)_applicationWillTerminate; - (void)setQueryContext:(id)a0; - (unsigned int)capabilities; - (id)servicesForListenerID:(id)a0; - (BOOL)hasListenerForID:(id)a0; - (void)_agentDidLaunchNotification:(id)a0; - (void)systemApplicationDidResume; - (id)services; - (void)removeListenerID:(id)a0; - (void)_performBlock:(id /* block */)a0 wait:(BOOL)a1; - (id)init; - (void)_setServices:(id)a0 commands:(id)a1 capabilities:(unsigned int)a2; - (void)dealloc; - (void)forwardMethodWithReplyIsSync:(BOOL)a0 block:(id /* block */)a1; - (BOOL)isConnected; - (void)systemApplicationDidSuspend; - (void)_localObjectCleanup; - (void)_performBlock:(id /* block */)a0; - (BOOL)setCommands:(id)a0 forListenerID:(id)a1; - (id)forwardingTargetForSelector:(SEL)a0; - (void)localObjectDiedNotification:(id)a0; - (void)_disconnectFromDaemonWithForce:(BOOL)a0; - (BOOL)addListenerID:(id)a0 services:(id)a1 commands:(id)a2; - (id)forwarderWithCompletion:(id /* block */)a0; - (void)disconnectFromDaemon; - (void)blockUntilConnected; - (void)_remoteObjectCleanup; - (BOOL)consumeQueryContext:(id)a0; - (unsigned int)capabilitiesForListenerID:(id)a0; - (id)localObject; - (BOOL)localObjectExists; - (BOOL)_setCapabilities:(unsigned int)a0; - (void)_listenerSetUpdated; - (void)_noteSetupComplete; - (void)systemApplicationDidEnterBackground; - (void)_blockUntilSendQueueIsEmpty; - (void)_noteDisconnected; - (void).cxx_destruct; - (BOOL)setCapabilities:(unsigned int)a0 forListenerID:(id)a1 shouldLog:(BOOL)a2; - (BOOL)_setCommands:(id)a0; - (void)systemApplicationWillEnterForeground; - (BOOL)connectToDaemon; - (BOOL)connectToDaemonWithLaunch:(BOOL)a0 services:(id)a1 commands:(id)a2 capabilities:(unsigned int)a3; - (void)_connectToDaemonWithLaunch:(BOOL)a0 services:(id)a1 commands:(id)a2 capabilities:(unsigned int)a3; - (void)_handleDaemonException:(id)a0; - (id)commands; - (void)unsetQueryContext:(id)a0; - (BOOL)connectToDaemonWithLaunch:(BOOL)a0; - (BOOL)remoteObjectExists; - (BOOL)_makeConnectionWithLaunch:(BOOL)a0 completionBlock:(id /* block */)a1; - (BOOL)addListenerID:(id)a0 services:(id)a1; - (void)remoteObjectDiedNotification:(id)a0; - (void)addedDelegateForService:(id)a0 withCompletion:(id /* block */)a1; - (BOOL)_setServices:(id)a0; - (id)commandsForListenerID:(id)a0; - (BOOL)setServices:(id)a0 forListenerID:(id)a1; - (void)sendXPCObject:(id)a0 objectContext:(id)a1; @end