luxlabs header browser preview


@class NSMutableDictionary, _HMContext, NSString, HMSoftwareUpdateDocumentationManager, HMHome;
@protocol HMAccessorySoftwareUpdateControllerV2Delegate, HMESubscriptionProviding;

@interface HMAccessorySoftwareUpdateControllerV2 : NSObject <HMEEventConsumer, HMFLogging> {
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock;
}

@property (readonly) _HMContext *context;
@property (readonly, weak) HMHome *home;
@property (readonly) id<HMESubscriptionProviding> subscriptionProvider;
@property (readonly, nonatomic) HMSoftwareUpdateDocumentationManager *documentationManager;
@property (readonly) NSMutableDictionary *softwareUpdateByAccessory;
@property (weak) id<HMAccessorySoftwareUpdateControllerV2Delegate> delegate;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)logCategory;
+ (id)accessoryUUIDsForAccessoryIdentifiers:(id)a0 home:(id)a1;
+ (id)softwareUpdateFromSoftwareUpdateV2:(id)a0;
+ (id)topicFiltersForAccessoryIdentifiers:(id)a0 home:(id)a1;

- (void)didReceiveEvent:(id)a0 topic:(id)a1;
- (void)unsubscribe:(id)a0;
- (void).cxx_destruct;
- (void)didReceiveCachedEvent:(id)a0 topic:(id)a1 source:(id)a2;
- (id)initWithContext:(id)a0 home:(id)a1 subscriptionProvider:(id)a2 documentationManager:(id)a3;
- (id)messageDestinationForAccessory:(id)a0;
- (void)applySoftwareUpdate:(id)a0 accessory:(id)a1 completion:(id /* block */)a2;
- (void)fetchDocumentationFromMetadata:(id)a0 completion:(id /* block */)a1;
- (void)handleDidReceiveDescriptorEvent:(id)a0 forAccessory:(id)a1;
- (void)handleDidReceiveEvent:(id)a0 topic:(id)a1;
- (void)handleDidReceiveProgressEvent:(id)a0 forAccessory:(id)a1;
- (void)scanForSoftwareUpdateOnAccessories:(id)a0 withOptions:(unsigned long long)a1 completion:(id /* block */)a2;
- (void)scanForSoftwareUpdateRepeatedlyOnAccessory:(id)a0 andInstallUpdate:(BOOL)a1;
- (id)softwareUpdateForAccessory:(id)a0 withDescriptor:(id)a1;
- (id)softwareUpdateProgressForAccessory:(id)a0 withProgress:(id)a1;
- (void)subscribe:(id)a0 completion:(id /* block */)a1;

@end