/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. #import <Foundation/Foundation.h>
  30. @interface CJSONSerializer : NSObject {
  31. }
  32. + (id)serializer;
  33. - (BOOL)isValidJSONObject:(id)inObject;
  34. /// Take any JSON compatible object (generally NSNull, NSNumber, NSString, NSArray and NSDictionary) and produce an NSData containing the serialized JSON.
  35. - (NSData *)serializeObject:(id)inObject error:(NSError **)outError;
  36. - (NSData *)serializeNull:(NSNull *)inNull error:(NSError **)outError;
  37. - (NSData *)serializeNumber:(NSNumber *)inNumber error:(NSError **)outError;
  38. - (NSData *)serializeString:(NSString *)inString error:(NSError **)outError;
  39. - (NSData *)serializeArray:(NSArray *)inArray error:(NSError **)outError;
  40. - (NSData *)serializeDictionary:(NSDictionary *)inDictionary error:(NSError **)outError;
  41. @end
  42. typedef enum {
  43. CJSONSerializerErrorCouldNotSerializeDataType = -1,
  44. CJSONSerializerErrorCouldNotSerializeObject = -1
  45. } CJSONSerializerError;