X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJHIDManager.h;fp=Classes%2FNJHIDManager.h;h=752a6e58bf65d17f7ed8df4bc4714f622dd0f21c;hp=0000000000000000000000000000000000000000;hb=402a1b679ced5422e46c7a5caeecc45e5ed878db;hpb=8fa589c4e6be7272402952c4f929f81763700212 diff --git a/Classes/NJHIDManager.h b/Classes/NJHIDManager.h new file mode 100644 index 0000000..752a6e5 --- /dev/null +++ b/Classes/NJHIDManager.h @@ -0,0 +1,45 @@ +// +// NJHIDManager.h +// Enjoyable +// +// Created by Joe Wreschnig on 3/13/13. +// +// + +#import + +@protocol NJHIDManagerDelegate; + +@interface NJHIDManager : NSObject + +@property (nonatomic, copy) NSArray *criteria; + // Changing the criteria may trigger a stop and restart. If this happens, + // messages will be sent to the delegate as usual. + +@property (nonatomic, assign) BOOL running; +@property (nonatomic, weak) id delegate; + +- (id)initWithCriteria:(NSArray *)criteria + delegate:(id )delegate; + +- (void)start; +- (void)stop; + +@end + +@protocol NJHIDManagerDelegate + +- (void)hidManagerDidStart:(NJHIDManager *)manager; +- (void)hidManagerDidStop:(NJHIDManager *)manager; + // Stopping the device will not trigger any removal events, so any + // cleanup in the delegate must be done here. + +- (void)hidManager:(NJHIDManager *)manager didError:(NSError *)error; + +- (void)hidManager:(NJHIDManager *)manager deviceAdded:(IOHIDDeviceRef)device; +- (void)hidManager:(NJHIDManager *)manager deviceRemoved:(IOHIDDeviceRef)device; + +- (void)hidManager:(NJHIDManager *)manager + valueChanged:(IOHIDValueRef)value + fromDevice:(IOHIDDeviceRef)device; +@end