X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJDevice.m;h=e2a0efa6608923fb2f91451f5992181f3b99a39a;hp=69775d835d399f3c315bb7e52519726bbdbb9560;hb=8f3613a31e2012374e00a6973f221421e0b770f0;hpb=a82e3a2bd6d2ada91880584bd415dfd18bfc3ede diff --git a/Classes/NJDevice.m b/Classes/NJDevice.m index 69775d8..e2a0efa 100644 --- a/Classes/NJDevice.m +++ b/Classes/NJDevice.m @@ -106,4 +106,28 @@ static NSArray *InputsForElement(IOHIDDeviceRef device, id base) { return [self findInputByCookie:cookie]; } +- (BOOL)isEqual:(id)object { + return [object isKindOfClass:NJDevice.class] + && [[object uid] isEqualToString:self.uid]; +} + +- (NSUInteger)hash { + return self.uid.hash; +} + +- (id )elementForUID:(NSString *)uid { + if ([uid isEqualToString:self.uid]) + return self; + else if (![uid hasPrefix:self.uid]) + return nil; + else { + for (id elem in self.children) { + id ret = [elem elementForUID:uid]; + if (ret) + return ret; + } + } + return nil; +} + @end