Split view management out of NJDeviceController. Right now this probably just makes...
[enjoyable.git] / Classes / NJInput.m
index 15b4687..d7144a0 100644 (file)
@@ -9,10 +9,16 @@
 
 @implementation NJInput
 
-- (id)initWithName:(NSString *)newName base:(id <NJInputPathElement>)newBase {
-    if ((self = [super init])) {
-        self.name = newName;
-        self.base = newBase;
+- (id)initWithName:(NSString *)name
+               eid:(NSString *)eid
+           element:(IOHIDElementRef)element
+            parent:(NJInputPathElement *)parent
+{
+    NSString *elementName = (__bridge NSString *)IOHIDElementGetName(element);
+    if (elementName.length)
+        name = [name stringByAppendingFormat:@"- %@", elementName];
+    if ((self = [super initWithName:name eid:eid parent:parent])) {
+        _cookie = IOHIDElementGetCookie(element);
     }
     return self;
 }
     return nil;
 }
 
-- (NSString *)uid {
-    return [NSString stringWithFormat:@"%@~%@", _base.uid, _name];
-}
-
 - (void)notifyEvent:(IOHIDValueRef)value {
     [self doesNotRecognizeSelector:_cmd];
 }
 
-- (BOOL)isEqual:(id)object {
-    return [object isKindOfClass:NJInput.class]
-        && [[object uid] isEqualToString:self.uid];
-}
-
-- (NSUInteger)hash {
-    return self.uid.hash;
-}
-
-- (id <NJInputPathElement>)elementForUID:(NSString *)uid {
-    if ([uid isEqualToString:self.uid])
-        return self;
-    else {
-        for (id <NJInputPathElement> elem in self.children) {
-            id <NJInputPathElement> ret = [elem elementForUID:uid];
-            if (ret)
-                return ret;
-        }
-    }
-    return nil;
-}
-
 @end