e594f1058ed6a3dfbb85b794ee81eaab90038cc3
[enjoyable.git] / Classes / NJDeviceController.h
1 //
2 // NJDeviceController.h
3 // Enjoy
4 //
5 // Created by Sam McCall on 4/05/09.
6 // Copyright 2009 University of Otago. All rights reserved.
7 //
8
9 #import "NJHIDManager.h"
10
11 @class NJDevice;
12 @class NJInput;
13 @class NJInputPathElement;
14 @class NJMappingsController;
15
16 @protocol NJDeviceControllerDelegate;
17
18 @interface NJDeviceController : NSObject <NJHIDManagerDelegate> {
19 IBOutlet NJMappingsController *mappingsController;
20 }
21
22 @property (nonatomic, weak) IBOutlet id <NJDeviceControllerDelegate> delegate;
23
24 @property (nonatomic, assign) NSPoint mouseLoc;
25 @property (nonatomic, assign) BOOL simulatingEvents;
26
27 - (NJDevice *)objectAtIndexedSubscript:(NSUInteger)idx;
28 - (NJInputPathElement *)objectForKeyedSubscript:(NSString *)uid;
29 - (NSUInteger)count;
30
31 @end
32
33 @protocol NJDeviceControllerDelegate
34
35 - (void)deviceController:(NJDeviceController *)dc didAddDevice:(NJDevice *)device;
36 - (void)deviceController:(NJDeviceController *)dc didRemoveDeviceAtIndex:(NSInteger)idx;
37 - (void)deviceController:(NJDeviceController *)dc didInput:(NJInput *)input;
38 - (void)deviceControllerDidStartHID:(NJDeviceController *)dc;
39 - (void)deviceControllerDidStopHID:(NJDeviceController *)dc;
40 - (void)deviceController:(NJDeviceController *)dc didError:(NSError *)error;
41
42 @end