diff options
author | Struan Donald <struan@exo.org.uk> | 2013-03-25 15:57:26 +0000 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2013-03-25 17:13:56 +0000 |
commit | 73e3d5d4077636487f07be1beff3b2714ee2b276 (patch) | |
tree | 4b4529f36ab68ec7c2a9e51bcfafbd57d9336cc8 /iPhone/CordovaLib/Classes/CDVPluginResult.m | |
parent | e5d7b3b62be5025f31c39b50ea3955398bc7cf40 (diff) |
upgrade to phonegap 2.5 for ios
Diffstat (limited to 'iPhone/CordovaLib/Classes/CDVPluginResult.m')
-rwxr-xr-x | iPhone/CordovaLib/Classes/CDVPluginResult.m | 40 |
1 files changed, 34 insertions, 6 deletions
diff --git a/iPhone/CordovaLib/Classes/CDVPluginResult.m b/iPhone/CordovaLib/Classes/CDVPluginResult.m index 5343dce..d9ba08f 100755 --- a/iPhone/CordovaLib/Classes/CDVPluginResult.m +++ b/iPhone/CordovaLib/Classes/CDVPluginResult.m @@ -18,8 +18,9 @@ */ #import "CDVPluginResult.h" -#import "JSONKit.h" +#import "CDVJSON.h" #import "CDVDebug.h" +#import "NSData+Base64.h" @interface CDVPluginResult () @@ -88,11 +89,26 @@ static NSArray* org_apache_cordova_CommandStatusMsgs; return [[self alloc] initWithStatus:statusOrdinal message:[NSNumber numberWithDouble:theMessage]]; } ++ (CDVPluginResult*)resultWithStatus:(CDVCommandStatus)statusOrdinal messageAsBool:(BOOL)theMessage +{ + return [[self alloc] initWithStatus:statusOrdinal message:[NSNumber numberWithBool:theMessage]]; +} + + (CDVPluginResult*)resultWithStatus:(CDVCommandStatus)statusOrdinal messageAsDictionary:(NSDictionary*)theMessage { return [[self alloc] initWithStatus:statusOrdinal message:theMessage]; } ++ (CDVPluginResult*)resultWithStatus:(CDVCommandStatus)statusOrdinal messageAsArrayBuffer:(NSData*)theMessage +{ + NSDictionary* arrDict = [NSDictionary dictionaryWithObjectsAndKeys: + @"ArrayBuffer", @"CDVType", + [theMessage base64EncodedString], @"data", + nil]; + + return [[self alloc] initWithStatus:statusOrdinal message:arrDict]; +} + + (CDVPluginResult*)resultWithStatus:(CDVCommandStatus)statusOrdinal messageToErrorObject:(int)errorCode { NSDictionary* errDict = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:errorCode] forKey:@"code"]; @@ -107,11 +123,23 @@ static NSArray* org_apache_cordova_CommandStatusMsgs; - (NSString*)toJSONString { - NSString* resultString = [[NSDictionary dictionaryWithObjectsAndKeys: - self.status, @"status", - self.message ? self. message:[NSNull null], @"message", - self.keepCallback, @"keepCallback", - nil] cdvjk_JSONString]; + NSDictionary* dict = [NSDictionary dictionaryWithObjectsAndKeys: + self.status, @"status", + self.message ? self. message:[NSNull null], @"message", + self.keepCallback, @"keepCallback", + nil]; + + NSError* error = nil; + NSData* jsonData = [NSJSONSerialization dataWithJSONObject:dict + options:NSJSONWritingPrettyPrinted + error:&error]; + NSString* resultString = nil; + + if (error != nil) { + NSLog(@"toJSONString error: %@", [error localizedDescription]); + } else { + resultString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; + } if ([[self class] isVerbose]) { NSLog(@"PluginResult:toJSONString - %@", resultString); |