luxlabs header browser preview


@class NSString, MRPlayerPath, MRAVEndpoint, MRArtwork, MRPlayer, MRClient, NSMutableArray, NSObject, MRNowPlayingPlayerResponse, MRAVEndpointObserver;
@protocol OS_dispatch_queue, MRQHONowPlayingControllerDelegate;

@interface MRQHONowPlayingController : NSObject

@property (copy, nonatomic) MRNowPlayingPlayerResponse *response;
@property (retain, nonatomic) id playerPathInvalidationObserver;
@property (retain, nonatomic) MRAVEndpointObserver *endpointObserver;
@property (retain, nonatomic) NSString *endpointObserverGroupUID;
@property (retain, nonatomic) NSMutableArray *deferredContentItemsToMerge;
@property (nonatomic) BOOL registeredForNotifications;
@property (nonatomic) BOOL registeredForEndpointChanges;
@property (nonatomic) BOOL registeredForPlayerPathInvalidations;
@property (nonatomic) BOOL updateLoadingEnabled;
@property (nonatomic) BOOL requestingQueue;
@property (retain, nonatomic) NSObject<OS_dispatch_queue> *queue;
@property (retain, nonatomic) NSObject<OS_dispatch_queue> *delegateQueue;
@property (retain, nonatomic) NSString *cachedNowPlayingArtworkIdentifier;
@property (retain, nonatomic) MRArtwork *cachedNowPlayingArtwork;
@property (readonly, nonatomic) NSString *uid;
@property (readonly, nonatomic) MRClient *client;
@property (readonly, nonatomic) MRPlayer *player;
@property (weak, nonatomic) id<MRQHONowPlayingControllerDelegate> delegate;
@property (retain, nonatomic) MRPlayerPath *unresolvedPlayerPath;
@property (retain, nonatomic) MRPlayerPath *resolvedPlayerPath;
@property (retain, nonatomic) MRAVEndpoint *endpoint;

+ (id)proactiveEndpointController;
+ (id)localRouteController;

- (id)initWithUID:(id)a0;
- (void)_notifyDelegateOfUpdatedPlayerLastPlayingDate:(id)a0;
- (void)dealloc;
- (void)_handlePlaybackQueueContentItemsChangedNotification:(id)a0;
- (void)_requestContentItemArtwork:(id)a0 forPlayerPath:(id)a1 queue:(id)a2 completion:(id /* block */)a3;
- (void)_notifyDelegateOfUpdatedDeviceLastPlayingDate:(id)a0;
- (void)_onQueue_retrieveEndpointForUID:(id)a0 completion:(id /* block */)a1;
- (void)_requestPlayerLastPlayingDateForPlayerPath:(id)a0 queue:(id)a1 completion:(id /* block */)a2;
- (void)beginLoadingUpdates;
- (void)_notifyDelegateOfError:(id)a0;
- (void)_handlePlaybackQueueChangedNotification:(id)a0;
- (void)endLoadingUpdates;
- (void)_requestSupportedCommandsForPlayerPath:(id)a0 queue:(id)a1 completion:(id /* block */)a2;
- (void)_notifyDelegateOfUpdatedArtwork:(id)a0;
- (id)_loadNowPlayingStateForPlayerPath:(id)a0 error:(id *)a1;
- (void).cxx_destruct;
- (void)_handlePlaybackQueueContentItemsArtworkChangedNotification:(id)a0;
- (void)_unregisterForPlayerPathInvalidations;
- (void)_handleSupportedCommandsChangedNotification:(id)a0;
- (void)_notifyDelegateOfNewResponse:(id)a0;
- (void)_unregisterForEndpointChanges;
- (void)_notifyDelegateOfInvalidation;
- (void)_unregisterNotificationHandlers;
- (void)_handleActiveSystemEndpointChangedNotification:(id)a0;
- (void)_handlePlaybackStateChangedNotification:(id)a0;
- (void)_createPlayerPathForEndpoint:(id)a0 client:(id)a1 player:(id)a2 completion:(id /* block */)a3;
- (void)_downloadContentItemArtwork:(id)a0 queue:(id)a1 completion:(id /* block */)a2;
- (void)_loadNowPlayingStateForEndpoint:(id)a0 client:(id)a1 player:(id)a2 completion:(id /* block */)a3;
- (void)_loadNowPlayingStateForUID:(id)a0 client:(id)a1 player:(id)a2 completion:(id /* block */)a3;
- (void)_notifyDelegateOfPlaybackQueueChangeFromOldQueue:(id)a0 toNewQueue:(id)a1;
- (void)_notifyDelegateOfPlaybackStateChangeFromOldState:(unsigned int)a0 toNewState:(unsigned int)a1;
- (void)_notifyDelegateOfSupportedCommandsChangeFromOldCommands:(id)a0 toNewCommands:(id)a1;
- (void)_notifyDelegateOfUpdatedContentItems:(id)a0;
- (void)_onQueue_clearState;
- (void)_onQueue_requestAndUpdateArtworkForContentItems:(id)a0 forPlayerPath:(id)a1 withReason:(id)a2;
- (void)_onQueue_requestPlaybackQueueForPlayerPath:(id)a0 includeArtwork:(BOOL)a1 queue:(id)a2 completion:(id /* block */)a3;
- (id)_onQueue_updateByMergingContentItemChanges:(id)a0;
- (void)_onQueue_updateByReplacingWithNewResponse:(id)a0;
- (void)_onQueue_updateWithNewDeviceLastPlayingDate:(id)a0;
- (void)_onQueue_updateWithNewPlaybackQueue:(id)a0;
- (void)_onQueue_updateWithNewPlaybackState:(unsigned int)a0;
- (void)_onQueue_updateWithNewPlayerLastPlayingDate:(id)a0;
- (void)_onQueue_updateWithNewSupportedCommands:(id)a0;
- (void)_registerForEndpointChangesIfNeeded;
- (void)_registerForPlayerPathInvalidationsIfNeeded;
- (void)_registerNotificationHandlersIfNeeded;
- (void)_reloadForCompleteInvalidation;
- (void)_reloadForPlayerPathInvalidation;
- (void)_resolvePlayerPath:(id)a0 completion:(id /* block */)a1;
- (id)initWithUID:(id)a0 client:(id)a1 player:(id)a2;

@end