luxlabs header browser preview


@class HMDAppleAccountManager, NSString, NSArray, HMDIDSActivityMonitorObserver, HMFTimer, NSOperationQueue, HMDRemoteAccountManager, HMDAccountRegistry, NSObject, HMFNetMonitor, NSMapTable, IDSAccount;
@protocol OS_dispatch_queue, HMDIDSService, HMDRemoteDeviceMonitorFactory;

@interface HMDRemoteDeviceMonitor : HMFObject <HMFLogging, HMFTimerDelegate, HMDIDSServiceDelegate, IDSAccountDelegate, IDSAccountRegistrationDelegate, HMDIDSActivityMonitorObserverDelegate, HMFNetMonitorDelegate, HMDRemoteDeviceMonitorFactory, HMDRemoteDeviceMonitorDeviceRegistrationClient> {
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock;
    NSObject<OS_dispatch_queue> *_queue;
    NSOperationQueue *_operationQueue;
    BOOL _started;
    id<HMDIDSService> _service;
    IDSAccount *_iCloudAccount;
    HMDIDSActivityMonitorObserver *_activityObserver;
    HMDAppleAccountManager *_accountManager;
    HMDRemoteAccountManager *_remoteAccountManager;
    HMFNetMonitor *_netMonitor;
    id<HMDRemoteDeviceMonitorFactory> _factory;
    NSMapTable *_deviceInformationByDevice;
    HMFTimer *_deviceHealthTimer;
    HMFTimer *_initialDeviceHealthTimer;
}

@property (readonly, nonatomic) HMDAccountRegistry *accountRegistry;
@property (readonly, getter=isReachable) BOOL reachable;
@property (readonly) NSArray *unreachableDevices;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)logCategory;
+ (id)pingMessageForDevice:(id)a0 timeout:(double)a1 restriction:(unsigned long long)a2;

- (void)service:(id)a0 activeAccountsChanged:(id)a1;
- (void)service:(id)a0 account:(id)a1 incomingMessage:(id)a2 fromID:(id)a3 context:(id)a4;
- (void)timerDidFire:(id)a0;
- (id)init;
- (void)dealloc;
- (void)start;
- (void)account:(id)a0 isActiveChanged:(BOOL)a1;
- (id)dumpState;
- (void).cxx_destruct;
- (void)account:(id)a0 loginChanged:(id)a1;
- (void)networkMonitorIsReachable:(id)a0;
- (void)networkMonitorIsUnreachable:(id)a0;
- (void)handleDeviceRemovedFromAccount:(id)a0;
- (void)_handleGlobalReachabilityChange;
- (void)stopMonitoringDevice:(id)a0 forClient:(id)a1;
- (void)_handleIncomingMessageForDevice:(id)a0;
- (void)confirmDevice:(id)a0 forClient:(id)a1 timeout:(double)a2 completionHandler:(id /* block */)a3;
- (void)handleAccountRemoved:(id)a0;
- (void)handleCurrentDeviceUpdate:(id)a0;
- (id)initWithAccountRegistry:(id)a0 activityObserver:(id)a1 accountManager:(id)a2;
- (id)initWithAccountRegistry:(id)a0 activityObserver:(id)a1 queue:(id)a2 service:(id)a3 modernService:(id)a4 accountManager:(id)a5 remoteAccountManager:(id)a6 netMonitor:(id)a7 factory:(id)a8;
- (id)newConfirmationHandlerWithTimeout:(double)a0 workQueue:(id)a1 handler:(id /* block */)a2;
- (id)newDeviceMonitoringTimer;
- (id)newInitialDeviceHealthTimer;
- (id)newRepeatingDeviceHealthTimer;
- (id)newSendMessageOperationWithMessage:(id)a0;
- (void)observer:(id)a0 didUpdateDevice:(id)a1 isOnline:(BOOL)a2;
- (void)startMonitoringDevice:(id)a0 withInitialReachability:(id)a1 forClient:(id)a2;

@end