3691d59bcd38d04b53df1b39902cf72247c4ba27
[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 #import "NJDeviceViewController.h"
11
12 @class NJInput;
13 @class NJMappingsController;
14
15 @protocol NJDeviceControllerDelegate;
16
17 @interface NJDeviceController : NSObject <NJHIDManagerDelegate> {
18 IBOutlet NJMappingsController *mappingsController;
19 IBOutlet NSButton *simulatingEventsButton;
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 - (IBAction)simulatingEventsChanged:(NSButton *)sender;
28
29 - (NJDevice *)objectAtIndexedSubscript:(NSUInteger)idx;
30 - (NJInputPathElement *)objectForKeyedSubscript:(NSString *)uid;
31 - (NSUInteger)count;
32
33 @end
34
35 @protocol NJDeviceControllerDelegate
36
37 - (void)deviceController:(NJDeviceController *)dc didAddDevice:(NJDevice *)device;
38 - (void)deviceController:(NJDeviceController *)dc didRemoveDeviceAtIndex:(NSInteger)idx;
39 - (void)deviceController:(NJDeviceController *)dc didInput:(NJInput *)input;
40 - (void)deviceControllerDidStartHID:(NJDeviceController *)dc;
41 - (void)deviceControllerDidStopHID:(NJDeviceController *)dc;
42 - (void)deviceController:(NJDeviceController *)dc didError:(NSError *)error;
43
44 @end