luxlabs header browser preview


@class NSString, AVHapticPlayer, CHMetrics, AVAudioSession, HapticServerConfig, NSObject, NSArray;
@protocol OS_dispatch_source, OS_dispatch_queue;

@interface CHHapticEngine : NSObject {
    NSObject<OS_dispatch_queue> *_dispatchQueue;
    struct map<unsigned long, std::pair<NSURL *, NSDictionary *>, std::less<unsigned long>, std::allocator<std::pair<const unsigned long, std::pair<NSURL *, NSDictionary *>>>> { struct __tree<std::__value_type<unsigned long, std::pair<NSURL *, NSDictionary *>>, std::__map_value_compare<unsigned long, std::__value_type<unsigned long, std::pair<NSURL *, NSDictionary *>>, std::less<unsigned long>>, std::allocator<std::__value_type<unsigned long, std::pair<NSURL *, NSDictionary *>>>> { void *__begin_node_; struct __compressed_pair<std::__tree_end_node<std::__tree_node_base<void *> *>, std::allocator<std::__tree_node<std::__value_type<unsigned long, std::pair<NSURL *, NSDictionary *>>, void *>>> { struct __tree_end_node<std::__tree_node_base<void *> *> { void *__left_; } __value_; } __pair1_; struct __compressed_pair<unsigned long, std::__map_value_compare<unsigned long, std::__value_type<unsigned long, std::pair<NSURL *, NSDictionary *>>, std::less<unsigned long>>> { unsigned long long __value_; } __pair3_; } __tree_; } _publicAudioResources;
    AVHapticPlayer *_player;
    BOOL _autoShutdownEnabled;
    BOOL _running;
    double _runTimeout;
    CHMetrics *_metrics;
}

@property (readonly) AVHapticPlayer *player;
@property BOOL running;
@property (readonly) CHMetrics *metrics;
@property (nonatomic) BOOL activateAudioSessionOnStart;
@property (readonly) AVAudioSession *avAudioSession;
@property (readonly) unsigned int audioSessionID;
@property (readonly) BOOL sessionIsShared;
@property (copy) id /* block */ clientFinishedHandler;
@property (retain) NSObject<OS_dispatch_source> *timer;
@property unsigned long long currentPlayerBehavior;
@property (readonly) BOOL needsAudioPowerBudget;
@property (readonly) HapticServerConfig *serverConfig;
@property (nonatomic) BOOL muteHapticsWhileRecordingAudio;
@property (nonatomic) BOOL followAudioRoute;
@property (nonatomic) BOOL highPriority;
@property (readonly) NSArray *availableLocalities;
@property (readonly) NSString *locality;
@property (readonly) NSString *priority;
@property (readonly) NSString *hapticPowerUsage;
@property (readonly) NSString *audioPowerUsage;
@property (readonly) NSString *usageCategory;
@property double autoShutdownTimeout;
@property (readonly) double currentTime;
@property (copy) id /* block */ stoppedHandler;
@property (copy) id /* block */ resetHandler;
@property (nonatomic) BOOL playsHapticsOnly;
@property (nonatomic) BOOL playsAudioOnly;
@property (nonatomic) BOOL isMutedForAudio;
@property (nonatomic) BOOL isMutedForHaptics;
@property (nonatomic, getter=isAutoShutdownEnabled) BOOL autoShutdownEnabled;

+ (unsigned long long)doRegisterAudioResource:(id)a0 options:(id)a1 fromPattern:(BOOL)a2 player:(id)a3 error:(id *)a4;
+ (void)lazyInitResourceMap;
+ (id)capabilitiesForHardware;
+ (void)initialize;
+ (void)dispatchOnGlobal:(id /* block */)a0;
+ (BOOL)resourceIsRegistered:(unsigned long long)a0;
+ (BOOL)supportsHapticServer;
+ (BOOL)doUnregisterAudioResource:(unsigned long long)a0 fromPattern:(BOOL)a1 player:(id)a2 error:(id *)a3;
+ (void)clearResourceMap;
+ (BOOL)supports1stPartyHaptics;

- (id)init;
- (void)dealloc;
- (BOOL)startAndReturnError:(id *)a0;
- (id).cxx_construct;
- (void)startWithCompletionHandler:(id /* block */)a0;
- (BOOL)resourceIsRegistered:(unsigned long long)a0;
- (void)stopWithCompletionHandler:(id /* block */)a0;
- (void)stopPrewarm;
- (void).cxx_destruct;
- (void)stopAndWait;
- (id)createPlayerWithPattern:(id)a0 error:(id *)a1;
- (id)createPrivilegedPlayerWithPlayable:(id)a0 error:(id *)a1;
- (id)initWithAudioSession:(id)a0 sessionIsShared:(BOOL)a1 options:(id)a2 error:(id *)a3;
- (void)notifyWhenPlayersFinished:(id /* block */)a0;
- (void)prewarmWithCompletionHandler:(id /* block */)a0;
- (unsigned long long)registerAudioResource:(id)a0 options:(id)a1 error:(id *)a2;
- (id)createAdvancedPlayerWithRingtoneData:(id)a0 error:(id *)a1;
- (id)createAdvancedPlayerWithRingtonePattern:(id)a0 error:(id *)a1;
- (id)initWithAudioSessionID:(unsigned int)a0 options:(id)a1 error:(id *)a2;
- (id)initWithAudioSessionID:(unsigned int)a0 error:(id *)a1;
- (void)handleMediaServerDeath:(id)a0;
- (void)handleConnectionError;
- (id)createAdvancedPlayerWithPattern:(id)a0 error:(id *)a1;
- (id)createAdvancedPlayerWithVibePatternDictionary:(id)a0 error:(id *)a1;
- (double)getDurationForResource:(unsigned long long)a0;
- (BOOL)unregisterAudioResource:(unsigned long long)a0 error:(id *)a1;
- (id)initWithOptions:(id)a0 error:(id *)a1;
- (id)initAndReturnError:(id *)a0;
- (id)initWithAudioSession:(id)a0 sessionIsShared:(BOOL)a1 error:(id *)a2;
- (void)releaseChannel:(id)a0;
- (void)cancelIdleTimer;
- (unsigned int)getSessionIDFromAVAudioSession:(id)a0;
- (void)addPublicAudioResourceID:(unsigned long long)a0 withURL:(id)a1 options:(id)a2;
- (void)beginIdleTimer;
- (BOOL)checkEngineRunning:(id *)a0;
- (BOOL)checkEngineStateOnStart:(id *)a0;
- (void)connectAudioSession:(id)a0;
- (id)createHapticPlayerWithOptions:(id)a0;
- (id)createOptionsFromAudioSessionID:(unsigned int)a0 shared:(BOOL)a1;
- (void)disconnectAudioSession:(id)a0;
- (void)dispatchOnLocal:(id /* block */)a0;
- (void)dispatchSyncOnLocal:(id /* block */)a0;
- (struct __map_iterator<std::__tree_iterator<std::__value_type<unsigned long, std::pair<NSURL *, NSDictionary *>>, std::__tree_node<std::__value_type<unsigned long, std::pair<NSURL *, NSDictionary *>>, void *> *, long>> { struct __tree_iterator<std::__value_type<unsigned long, std::pair<NSURL *, NSDictionary *>>, std::__tree_node<std::__value_type<unsigned long, std::pair<NSURL *, NSDictionary *>>, void *> *, long> { void *x0; } x0; })doFindPublicAudioResourceID:(unsigned long long)a0;
- (BOOL)doInit:(unsigned int)a0 sessionIsShared:(BOOL)a1 options:(id)a2 error:(id *)a3;
- (BOOL)doInitWithOptions:(id)a0 error:(id *)a1;
- (BOOL)doPlayPattern:(id)a0 error:(id *)a1;
- (BOOL)doReferenceAudioResourceByID:(unsigned long long)a0;
- (BOOL)doStartEngineAndWait:(id *)a0;
- (void)doStartWithCompletionHandler:(id /* block */)a0;
- (BOOL)doStopEngineAndWait:(id *)a0;
- (void)doStopWithCompletionHandler:(id /* block */)a0;
- (void)doUnregisterAllPublicAudioResources;
- (BOOL)finishInit:(id *)a0;
- (id)getAvailableChannel:(id *)a0;
- (id)getMetricsForPlayer:(id)a0;
- (long long)getReporterIDFromAVAudioSession:(id)a0;
- (id)getUsageCategory:(id)a0;
- (void)handleFinish:(id)a0;
- (void)handleMediaServerRecovery:(id)a0;
- (BOOL)hasPublicAudioResourceID:(unsigned long long)a0;
- (unsigned long long)idForPublicAudioResourceURL:(id)a0 withOptions:(id)a1;
- (id)initWithAudioSession:(id)a0 error:(id *)a1;
- (BOOL)isBehaviorSet:(unsigned long long)a0;
- (BOOL)isResourceLoopEnabled:(unsigned long long)a0;
- (BOOL)notifyPlayerStarted:(id)a0 atTime:(double)a1;
- (void)notifyPlayerStopped:(id)a0 atTime:(double)a1;
- (BOOL)playPatternFromData:(id)a0 error:(id *)a1;
- (BOOL)playPatternFromURL:(id)a0 error:(id *)a1;
- (void)reconfigureAudioSession;
- (void)removePublicAudioResourceID:(unsigned long long)a0;
- (void)setMetricsTestModeEnabled;
- (BOOL)setupEngineWithCategory:(id)a0 session:(id)a1 needsAudioPowerBudget:(BOOL)a2 error:(id *)a3;
- (BOOL)setupSystemSoundAudioSession:(id)a0 needsAudioPowerBudget:(BOOL)a1 error:(id *)a2;
- (BOOL)setupUnsharedAudioSession:(id)a0 isConstantVolume:(BOOL)a1 needsAudioPowerBudget:(BOOL)a2 error:(id *)a3;
- (void)startIdleTimerWithHandler:(id /* block */)a0;
- (void)storeOptions:(id)a0;
- (void)toggleBehavior:(unsigned long long)a0 set:(BOOL)a1;
- (void)updateAudioConfigurations:(id)a0 session:(id)a1;
- (void)updateEngineBehavior;
- (void)updateEngineBehaviorWithError:(id *)a0;

@end