5 // Created by Joe Wreschnig on 3/13/13.
9 #import <Foundation/Foundation.h>
11 @protocol NJHIDManagerDelegate
;
13 @interface NJHIDManager
: NSObject
15 @
property (nonatomic
, copy
) NSArray
*criteria
;
16 // Changing the criteria may trigger a stop and restart. If this happens,
17 // messages will be sent to the delegate as usual.
19 @
property (nonatomic
, assign
) BOOL running
;
20 @
property (nonatomic
, weak
) id
<NJHIDManagerDelegate
> delegate
;
22 - (id
)initWithCriteria
:(NSArray
*)criteria
23 delegate
:(id
<NJHIDManagerDelegate
>)delegate
;
30 @protocol NJHIDManagerDelegate
32 - (void)hidManagerDidStart
:(NJHIDManager
*)manager
;
33 - (void)hidManagerDidStop
:(NJHIDManager
*)manager
;
34 // Stopping the device will not trigger any removal events, so any
35 // cleanup in the delegate must be done here.
37 - (void)hidManager
:(NJHIDManager
*)manager didError
:(NSError
*)error
;
39 - (void)hidManager
:(NJHIDManager
*)manager deviceAdded
:(IOHIDDeviceRef
)device
;
40 - (void)hidManager
:(NJHIDManager
*)manager deviceRemoved
:(IOHIDDeviceRef
)device
;
42 - (void)hidManager
:(NJHIDManager
*)manager
43 valueChanged
:(IOHIDValueRef
)value
44 fromDevice
:(IOHIDDeviceRef
)device
;