luxlabs header browser preview


@class _GCControllerManagerServer, NSArray, NSMutableDictionary, NSString, GCSProfile, NSObject;
@protocol _GCIPCIncomingConnection, NSSecureCoding, OS_xpc_object, NSCopying, NSObject, GCSSettingsStoreService;

@interface _GCHapticClientProxy : NSObject <CHHapticServerInterface> {
    BOOL _playersPlayedHapticsThisSlice;
    _GCControllerManagerServer *_server;
    struct HapticSharedMemory { void /* function */ **_vptr$SharableMemoryBase; BOOL mIsOwner; BOOL mWasMapped; unsigned long long mSize; void *mBuffer; unsigned int mPort; int mFileDesc; int mSerial; NSObject<OS_xpc_object> *mXPCObject; } _sharedMemory;
    id<GCSSettingsStoreService> _settingsStore;
    GCSProfile *_activeProfile;
    BOOL _dirtyMuteState;
    BOOL _muted;
    BOOL _neverMute;
    int _muteReasons[5];
    float _hapticStrength;
    _Atomic BOOL _invalid;
    BOOL _running;
    BOOL _stopping;
    id<_GCIPCIncomingConnection> _connection;
    id _connectionInvalidationRegistration;
    id _connectionInterruptedRegistration;
    double _initializationTime;
}

@property (readonly, nonatomic, getter=isInvalid) BOOL invalid;
@property (copy, nonatomic) NSMutableDictionary *hapticPlayers;
@property (copy, nonatomic) NSArray *invalidationHandlers;
@property (nonatomic) unsigned long long clientID;
@property (copy, nonatomic) NSString *bundleIdentifier;
@property (readonly, copy, nonatomic) id<NSCopying, NSObject, NSSecureCoding> identifier;
@property (readonly, copy, nonatomic) NSString *persistentControllerIdentifier;
@property (readonly, copy, nonatomic) NSString *controllerProductCategory;
@property (readonly, copy, nonatomic) NSArray *actuators;
@property (nonatomic) BOOL shouldSquareContinuousIntensity;
@property (nonatomic) BOOL complete;
@property (nonatomic, getter=isMockClient) BOOL mockClient;
@property (nonatomic) unsigned int applicationState;
@property (readonly, nonatomic) int totalPlayers;
@property (readonly, nonatomic) double totalLifetimeInSeconds;
@property (readonly, nonatomic) double activeLifetimeInSeconds;

+ (id)clientProxyWithConnection:(id)a0 server:(id)a1 clientID:(unsigned long long)a2;

- (id)init;
- (void)dealloc;
- (BOOL)running;
- (void)invalidate;
- (id).cxx_construct;
- (id)addInvalidationHandler:(id /* block */)a0;
- (id)description;
- (void)stopPrewarm;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void).cxx_destruct;
- (void)prewarm:(id /* block */)a0;
- (BOOL)isMuted;
- (void *)sharedMemory;
- (void)stopRunning;
- (void)releaseChannels;
- (void)detachSequence:(unsigned long long)a0;
- (void)allocateClientResources:(id /* block */)a0;
- (void)configureWithOptions:(id)a0 reply:(id /* block */)a1;
- (void)copyCustomAudioEvent:(unsigned long long)a0 options:(id)a1 reply:(id /* block */)a2;
- (void)createCustomAudioEvent:(id)a0 format:(id)a1 frames:(unsigned long long)a2 options:(id)a3 reply:(id /* block */)a4;
- (void)debugExpectNotifyOnFinishAfter:(double)a0 reply:(id /* block */)a1;
- (void)getHapticLatency:(id /* block */)a0;
- (void)loadHapticEvent:(id)a0 reply:(id /* block */)a1;
- (void)loadHapticSequenceFromData:(id)a0 reply:(id /* block */)a1;
- (void)loadHapticSequenceFromEvents:(id)a0 reply:(id /* block */)a1;
- (void)loadVibePattern:(id)a0 reply:(id /* block */)a1;
- (void)notifyClientOnStopWithReason:(long long)a0 error:(id)a1;
- (void)prepareHapticSequence:(unsigned long long)a0 reply:(id /* block */)a1;
- (void)queryCapabilities:(id)a0 reply:(id /* block */)a1;
- (void)referenceCustomAudioEvent:(unsigned long long)a0 reply:(id /* block */)a1;
- (void)releaseClientResources;
- (void)releaseCustomAudioEvent:(unsigned long long)a0 reply:(id /* block */)a1;
- (void)removeChannel:(unsigned long long)a0 reply:(id /* block */)a1;
- (void)requestChannels:(unsigned long long)a0 reply:(id /* block */)a1;
- (void)setChannelEventBehavior:(unsigned long long)a0 behavior:(unsigned long long)a1 reply:(id /* block */)a2;
- (void)setPlayerBehavior:(unsigned long long)a0 reply:(id /* block */)a1;
- (void)setSequenceEventBehavior:(unsigned long long)a0 behavior:(unsigned long long)a1 channelIndex:(unsigned long long)a2 reply:(id /* block */)a3;
- (void)startRunning:(id /* block */)a0;
- (void)stopRunning:(id /* block */)a0;
- (void)notifyClientCompletedWithError:(id)a0;
- (void)_configureActuatorsLegacyWithOptions:(id)a0;
- (id)_initWithConnection:(id)a0 server:(id)a1 clientID:(unsigned long long)a2;
- (void)addActiveTime:(double)a0;
- (void)debugEngineIsRunning:(id /* block */)a0;
- (float)hapticStrength;
- (void)invalidateDueToControllerDisconnect;
- (BOOL)isMutedForReason:(unsigned long long)a0;
- (void)refreshUserSettingForMuteHaptics;
- (void)removeCustomAudioEvent:(unsigned long long)a0 reply:(id /* block */)a1;
- (void)setHapticStrength:(float)a0;
- (void)setMute:(BOOL)a0 forReason:(unsigned long long)a1;
- (BOOL)stopping;
- (void)teardownAndReleaseChannels;

@end