Skip to content

Commit

Permalink
added YAJL framework
Browse files Browse the repository at this point in the history
  • Loading branch information
matsimitsu committed Jan 23, 2011
1 parent 2f06206 commit e1b63e0
Show file tree
Hide file tree
Showing 17 changed files with 1,443 additions and 0 deletions.
12 changes: 12 additions & 0 deletions iTrakt.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
2458FBC612EB6978001B7590 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 2458FBBB12EB6978001B7590 /* Default.png */; };
2458FBC712EB6978001B7590 /* Default-Portrait.png in Resources */ = {isa = PBXBuildFile; fileRef = 2458FBBC12EB6978001B7590 /* Default-Portrait.png */; };
2458FBC812EB6978001B7590 /* Default-Landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 2458FBBD12EB6978001B7590 /* Default-Landscape.png */; };
2479A22C12EC83DB00E2AD4E /* YAJL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2479A22B12EC83DB00E2AD4E /* YAJL.framework */; };
2484C6AE12E9F568000D3871 /* BroadcastDate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2484C6AD12E9F568000D3871 /* BroadcastDate.m */; };
24EF210712EA3A2A00B54F6F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */; };
Expand Down Expand Up @@ -51,6 +52,7 @@
2458FBBB12EB6978001B7590 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Default.png; path = Images/Default.png; sourceTree = "<group>"; };
2458FBBC12EB6978001B7590 /* Default-Portrait.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-Portrait.png"; path = "Images/Default-Portrait.png"; sourceTree = "<group>"; };
2458FBBD12EB6978001B7590 /* Default-Landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-Landscape.png"; path = "Images/Default-Landscape.png"; sourceTree = "<group>"; };
2479A22B12EC83DB00E2AD4E /* YAJL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = YAJL.framework; path = vendor/YAJL.framework; sourceTree = "<group>"; };
2484C6AC12E9F568000D3871 /* BroadcastDate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BroadcastDate.h; sourceTree = "<group>"; };
2484C6AD12E9F568000D3871 /* BroadcastDate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BroadcastDate.m; sourceTree = "<group>"; };
2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
Expand All @@ -77,6 +79,7 @@
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */,
2479A22C12EC83DB00E2AD4E /* YAJL.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -134,6 +137,7 @@
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
2479A22B12EC83DB00E2AD4E /* YAJL.framework */,
);
name = CustomTemplate;
sourceTree = "<group>";
Expand Down Expand Up @@ -263,6 +267,10 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/vendor\"",
);
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
Expand All @@ -277,6 +285,10 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/vendor\"",
);
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = iTrakt_Prefix.pch;
INFOPLIST_FILE = "iTrakt-Info.plist";
Expand Down
1 change: 1 addition & 0 deletions vendor/YAJL.framework/Headers
1 change: 1 addition & 0 deletions vendor/YAJL.framework/Resources
62 changes: 62 additions & 0 deletions vendor/YAJL.framework/Versions/A/Headers/NSBundle+YAJL.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
//
// NSBundle+YAJL.h
// YAJL
//
// Created by Gabriel Handford on 7/23/09.
// Copyright 2009. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
//

#import "YAJLParser.h"

/*!
Utilities for loading JSON from resource bundles.
@code
id JSONValue = [[NSBundle mainBundle] yajl_JSONFromResource:@"kegs.json"];
@endcode
*/
@interface NSBundle(YAJL)

/*!
Load JSON from bundle.
@param resource Resource name with extension, for example, file.json
@throws YAJLParserException On parse error
*/
- (id)yajl_JSONFromResource:(NSString *)resource;

/*!
Load JSON from bundle.
@param resource Resource name with extension, for example, file.json
@param options Parser options
- YAJLParserOptionsNone: No options
- YAJLParserOptionsAllowComments: Javascript style comments will be allowed in the input (both /&asterisk; &asterisk;/ and //)
- YAJLParserOptionsCheckUTF8: Invalid UTF8 strings will cause a parse error
- YAJLParserOptionsStrictPrecision: If YES will force strict precision and return integer overflow error
@param error Out error
@result JSON value (NSArray, NSDictionary) or nil if errored
*/
- (id)yajl_JSONFromResource:(NSString *)resource options:(YAJLParserOptions)options error:(NSError **)error;

@end
154 changes: 154 additions & 0 deletions vendor/YAJL.framework/Versions/A/Headers/NSObject+YAJL.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
//
// NSObject+YAJL.h
// YAJL
//
// Created by Gabriel Handford on 7/23/09.
// Copyright 2009. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
//

#import "YAJLGen.h"
#import "YAJLParser.h"

/*!
Generate JSON string from NSArray, NSDictionary or custom object or parse JSON from NSString or custom object.
Parse JSON:
@code
NSData *JSONData = [NSData dataWithContentsOfFile:@"example.json"];
NSArray *arrayFromData = [JSONData yajl_JSON];
NSString *JSONString = @"[\"Test\"]";
NSArray *arrayFromString = [JSONString yajl_JSON];
// With options and out error
NSError *error = nil;
NSArray *arrayFromString = [JSONString yajl_JSONWithOptions:YAJLParserOptionsAllowComments error:&error];
@endcode
Generate JSON:
@code
NSDictionary *dict = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"];
NSString *JSONString = [dict yajl_JSONString];
// Beautified with custon indent string
NSArray *array = [NSArray arrayWithObjects:@"value1", @"value2", nil];
NSString *JSONString = [dict yajl_JSONStringWithOptions:YAJLGenOptionsBeautify indentString:@" "];
@endcode
*/
@interface NSObject(YAJL)

#pragma mark Gen

/*!
Create JSON string from object.
Supported objects include: NSArray, NSDictionary, NSNumber, NSString, NSNull
To override JSON value to encode (or support custom objects), implement (id)JSON; See YAJLCoding in YAJLGen.h
@throws YAJLGenInvalidObjectException If object is invalid
@result JSON String
*/
- (NSString *)yajl_JSONString;

/*!
Create JSON string from object.
Supported objects include: NSArray, NSDictionary, NSNumber, NSString, NSNull
To override JSON value to encode (or support custom objects), implement (id)JSON; See YAJLCoding in YAJLGen.h
@throws YAJLGenInvalidObjectException If object is invalid
@param options
- YAJLGenOptionsNone: No options
- YAJLGenOptionsBeautify: Beautifiy JSON output
- YAJLGenOptionsIgnoreUnknownTypes: Ignore unknown types (will use null value)
- YAJLGenOptionsIncludeUnsupportedTypes: Handle non-JSON types (including NSDate, NSData, NSURL)
@param indentString
@result JSON String
*/
- (NSString *)yajl_JSONStringWithOptions:(YAJLGenOptions)options indentString:(NSString *)indentString;


#pragma mark Parsing

/*!
Parse JSON (NSString or NSData or dataUsingEncoding:).
@result JSON object
@throws YAJLParserException If a parse error occured
@throws YAJLParsingUnsupportedException If not NSData or doesn't respond to dataUsingEncoding:
@code
NSString *JSONString = @"{'foo':['bar', true]}";
id JSONValue = [JSONString yajl_JSON];
NSData *JSONData = ...;
id JSONValue = [JSONData yajl_JSON];
@endcode
*/
- (id)yajl_JSON;

/*!
Parse JSON (NSString or NSData or dataUsingEncoding:) with out error.
If an error occurs, the returned object will be the current state of the object when
the error occurred.
@param error Error to set if we failed to parse
@result JSON object
@throws YAJLParserException If a parse error occured
@throws YAJLParsingUnsupportedException If not NSData or doesn't respond to dataUsingEncoding:
@code
NSString *JSONString = @"{'foo':['bar', true]}";
NSError *error = nil;
[JSONString yajl_JSON:error];
if (error) ...;
@endcode
*/
- (id)yajl_JSON:(NSError **)error;

/*!
Parse JSON (NSString or NSData or dataUsingEncoding:) with options and out error.
If an error occurs, the returned object will be the current state of the object when
the error occurred.
@param options Parse options
- YAJLParserOptionsNone: No options
- YAJLParserOptionsAllowComments: Javascript style comments will be allowed in the input (both /&asterisk; &asterisk;/ and //)
- YAJLParserOptionsCheckUTF8: Invalid UTF8 strings will cause a parse error
- YAJLParserOptionsStrictPrecision: If YES will force strict precision and return integer overflow error
@param error Error to set if we failed to parse
@result JSON object
@throws YAJLParserException If a parse error occured
@throws YAJLParsingUnsupportedException If not NSData or doesn't respond to dataUsingEncoding:
@code
NSString *JSONString = @"{'foo':['bar', true]} // comment";
NSError *error = nil;
[JSONString yajl_JSONWithOptions:YAJLParserOptionsAllowComments error:error];
if (error) ...;
@endcode
*/
- (id)yajl_JSONWithOptions:(YAJLParserOptions)options error:(NSError **)error;

@end

Loading

0 comments on commit e1b63e0

Please sign in to comment.