PageRenderTime 30ms CodeModel.GetById 16ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 1ms

/vendor/TouchJSON/JSON/CJSONSerializer.h

http://github.com/tgunr/passengerpane
C Header | 53 lines | 16 code | 8 blank | 29 comment | 0 complexity | 89dfb12df5b20bec831b2b1b0efb162f MD5 | raw file
 1//
 2//  CJSONSerializer.h
 3//  TouchCode
 4//
 5//  Created by Jonathan Wight on 12/07/2005.
 6//  Copyright 2005 toxicsoftware.com. All rights reserved.
 7//
 8//  Permission is hereby granted, free of charge, to any person
 9//  obtaining a copy of this software and associated documentation
10//  files (the "Software"), to deal in the Software without
11//  restriction, including without limitation the rights to use,
12//  copy, modify, merge, publish, distribute, sublicense, and/or sell
13//  copies of the Software, and to permit persons to whom the
14//  Software is furnished to do so, subject to the following
15//  conditions:
16//
17//  The above copyright notice and this permission notice shall be
18//  included in all copies or substantial portions of the Software.
19//
20//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21//  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
22//  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23//  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24//  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25//  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26//  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27//  OTHER DEALINGS IN THE SOFTWARE.
28//
29
30#import <Foundation/Foundation.h>
31
32@interface CJSONSerializer : NSObject {
33}
34
35+ (id)serializer;
36
37- (BOOL)isValidJSONObject:(id)inObject;
38
39/// Take any JSON compatible object (generally NSNull, NSNumber, NSString, NSArray and NSDictionary) and produce an NSData containing the serialized JSON.
40- (NSData *)serializeObject:(id)inObject error:(NSError **)outError;
41
42- (NSData *)serializeNull:(NSNull *)inNull error:(NSError **)outError;
43- (NSData *)serializeNumber:(NSNumber *)inNumber error:(NSError **)outError;
44- (NSData *)serializeString:(NSString *)inString error:(NSError **)outError;
45- (NSData *)serializeArray:(NSArray *)inArray error:(NSError **)outError;
46- (NSData *)serializeDictionary:(NSDictionary *)inDictionary error:(NSError **)outError;
47
48@end
49
50typedef enum {
51    CJSONSerializerErrorCouldNotSerializeDataType = -1,
52    CJSONSerializerErrorCouldNotSerializeObject = -1
53} CJSONSerializerError;