// Copyright 2009 University of Otago. All rights reserved.
//
-#import <Foundation/Foundation.h>
-#import <IOKit/hid/IOHIDBase.h>
+#import "NJActionPathElement.h"
-@interface JSAction : NSObject
+@interface JSAction : NSObject <NJActionPathElement>
-@property (assign) void *cookie;
-@property (assign) int index;
-@property (copy) NSArray *children;
-@property (weak) id base;
-@property (copy) NSString *name;
-@property (assign) BOOL active;
-@property (readonly) float magnitude;
+@property (nonatomic, assign) IOHIDElementCookie cookie;
+@property (nonatomic, copy) NSArray *children;
+@property (nonatomic, weak) id base;
+@property (nonatomic, copy) NSString *name;
+@property (nonatomic, assign) BOOL active;
+@property (nonatomic, readonly) float magnitude;
@property (readonly) NSString *uid;
-- (id)initWithName:(NSString *)newName base:(JSAction *)newBase;
+- (id)initWithName:(NSString *)newName base:(id <NJActionPathElement>)newBase;
- (void)notifyEvent:(IOHIDValueRef)value;
- (id)findSubActionForValue:(IOHIDValueRef)value;