-rw-r--r-- | pumpkin/IPTransformer.m | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/pumpkin/IPTransformer.m b/pumpkin/IPTransformer.m new file mode 100644 index 0000000..2307b05 --- a/dev/null +++ b/pumpkin/IPTransformer.m | |||
@@ -0,0 +1,21 @@ | |||
1 | |||
2 | #import "IPTransformer.h" | ||
3 | |||
4 | #include <arpa/inet.h> | ||
5 | |||
6 | @implementation IPTransformer | ||
7 | |||
8 | +(Class)transformedValueClass { return [NSString class]; } | ||
9 | +(BOOL)allowsReverseTransformation { return YES; } | ||
10 | -(id)transformedValue:(id)value { | ||
11 | if(value && | ||
12 | [value respondsToSelector:@selector(UTF8String)] | ||
13 | && inet_addr([value UTF8String])!=INADDR_NONE ) | ||
14 | return value; | ||
15 | return nil; | ||
16 | } | ||
17 | -(id)reverseTransformedValue:(id)value { | ||
18 | return [self transformedValue:value]; | ||
19 | } | ||
20 | |||
21 | @end \ No newline at end of file | ||