-//
-// NJHIDManager.h
-// Enjoyable
-//
-// Created by Joe Wreschnig on 3/13/13.
-//
-//
-
#import <Foundation/Foundation.h>
+#import <IOKit/hid/IOHIDLib.h>
@protocol NJHIDManagerDelegate;
@interface NJHIDManager : NSObject
+ // Light OO wrapper around IOKit callbacks.
-@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.
+- (id)initWithCriteria:(NSArray *)criteria
+ delegate:(id <NJHIDManagerDelegate>)delegate;
-@property (nonatomic, assign) BOOL running;
@property (nonatomic, weak) id <NJHIDManagerDelegate> delegate;
-- (id)initWithCriteria:(NSArray *)criteria
- delegate:(id <NJHIDManagerDelegate>)delegate;
+@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;
+ // Assigning YES is like sending start; NO like stop.
- (void)start;
- (void)stop;
@protocol NJHIDManagerDelegate
-- (void)hidManagerDidStart:(NJHIDManager *)manager;
-- (void)hidManagerDidStop:(NJHIDManager *)manager;
- // Stopping the device will not trigger any removal events, so any
+- (void)HIDManagerDidStart:(NJHIDManager *)manager;
+- (void)HIDManagerDidStop:(NJHIDManager *)manager;
+ // Stopping the device will not trigger any removal messages, 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 deviceAdded:(IOHIDDeviceRef)device;
-- (void)hidManager:(NJHIDManager *)manager deviceRemoved:(IOHIDDeviceRef)device;
-
-- (void)hidManager:(NJHIDManager *)manager
+- (void)HIDManager:(NJHIDManager *)manager
valueChanged:(IOHIDValueRef)value
fromDevice:(IOHIDDeviceRef)device;
+
+- (void)HIDManager:(NJHIDManager *)manager didError:(NSError *)error;
+
@end