Statistics
| Branch: | Tag: | Revision:

root / Classes / SBJSON.h @ 72744ed1

History | View | Annotate | Download (2.7 kB)

1 700184fb Miltiadis Vasilakis
/*
2 700184fb Miltiadis Vasilakis
 Copyright (C) 2007-2009 Stig Brautaset. All rights reserved.
3 700184fb Miltiadis Vasilakis
 
4 700184fb Miltiadis Vasilakis
 Redistribution and use in source and binary forms, with or without
5 700184fb Miltiadis Vasilakis
 modification, are permitted provided that the following conditions are met:
6 700184fb Miltiadis Vasilakis
 
7 700184fb Miltiadis Vasilakis
 * Redistributions of source code must retain the above copyright notice, this
8 700184fb Miltiadis Vasilakis
   list of conditions and the following disclaimer.
9 700184fb Miltiadis Vasilakis
 
10 700184fb Miltiadis Vasilakis
 * Redistributions in binary form must reproduce the above copyright notice,
11 700184fb Miltiadis Vasilakis
   this list of conditions and the following disclaimer in the documentation
12 700184fb Miltiadis Vasilakis
   and/or other materials provided with the distribution.
13 700184fb Miltiadis Vasilakis
 
14 700184fb Miltiadis Vasilakis
 * Neither the name of the author nor the names of its contributors may be used
15 700184fb Miltiadis Vasilakis
   to endorse or promote products derived from this software without specific
16 700184fb Miltiadis Vasilakis
   prior written permission.
17 700184fb Miltiadis Vasilakis
 
18 700184fb Miltiadis Vasilakis
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 700184fb Miltiadis Vasilakis
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 700184fb Miltiadis Vasilakis
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 700184fb Miltiadis Vasilakis
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
22 700184fb Miltiadis Vasilakis
 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 700184fb Miltiadis Vasilakis
 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24 700184fb Miltiadis Vasilakis
 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25 700184fb Miltiadis Vasilakis
 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26 700184fb Miltiadis Vasilakis
 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 700184fb Miltiadis Vasilakis
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 700184fb Miltiadis Vasilakis
 */
29 700184fb Miltiadis Vasilakis
30 700184fb Miltiadis Vasilakis
#import <Foundation/Foundation.h>
31 700184fb Miltiadis Vasilakis
#import "SBJsonParser.h"
32 700184fb Miltiadis Vasilakis
#import "SBJsonWriter.h"
33 700184fb Miltiadis Vasilakis
34 700184fb Miltiadis Vasilakis
/**
35 700184fb Miltiadis Vasilakis
 @brief Facade for SBJsonWriter/SBJsonParser.
36 700184fb Miltiadis Vasilakis

37 700184fb Miltiadis Vasilakis
 Requests are forwarded to instances of SBJsonWriter and SBJsonParser.
38 700184fb Miltiadis Vasilakis
 */
39 700184fb Miltiadis Vasilakis
@interface SBJSON : SBJsonBase <SBJsonParser, SBJsonWriter> {
40 700184fb Miltiadis Vasilakis
41 700184fb Miltiadis Vasilakis
@private    
42 700184fb Miltiadis Vasilakis
    SBJsonParser *jsonParser;
43 700184fb Miltiadis Vasilakis
    SBJsonWriter *jsonWriter;
44 700184fb Miltiadis Vasilakis
}
45 700184fb Miltiadis Vasilakis
46 700184fb Miltiadis Vasilakis
47 700184fb Miltiadis Vasilakis
/// Return the fragment represented by the given string
48 700184fb Miltiadis Vasilakis
- (id)fragmentWithString:(NSString*)jsonrep
49 700184fb Miltiadis Vasilakis
                   error:(NSError**)error;
50 700184fb Miltiadis Vasilakis
51 700184fb Miltiadis Vasilakis
/// Return the object represented by the given string
52 700184fb Miltiadis Vasilakis
- (id)objectWithString:(NSString*)jsonrep
53 700184fb Miltiadis Vasilakis
                 error:(NSError**)error;
54 700184fb Miltiadis Vasilakis
55 700184fb Miltiadis Vasilakis
/// Parse the string and return the represented object (or scalar)
56 700184fb Miltiadis Vasilakis
- (id)objectWithString:(id)value
57 700184fb Miltiadis Vasilakis
           allowScalar:(BOOL)x
58 700184fb Miltiadis Vasilakis
                             error:(NSError**)error;
59 700184fb Miltiadis Vasilakis
60 700184fb Miltiadis Vasilakis
61 700184fb Miltiadis Vasilakis
/// Return JSON representation of an array  or dictionary
62 700184fb Miltiadis Vasilakis
- (NSString*)stringWithObject:(id)value
63 700184fb Miltiadis Vasilakis
                        error:(NSError**)error;
64 700184fb Miltiadis Vasilakis
65 700184fb Miltiadis Vasilakis
/// Return JSON representation of any legal JSON value
66 700184fb Miltiadis Vasilakis
- (NSString*)stringWithFragment:(id)value
67 700184fb Miltiadis Vasilakis
                          error:(NSError**)error;
68 700184fb Miltiadis Vasilakis
69 700184fb Miltiadis Vasilakis
/// Return JSON representation (or fragment) for the given object
70 700184fb Miltiadis Vasilakis
- (NSString*)stringWithObject:(id)value
71 700184fb Miltiadis Vasilakis
                  allowScalar:(BOOL)x
72 700184fb Miltiadis Vasilakis
                                            error:(NSError**)error;
73 700184fb Miltiadis Vasilakis
74 700184fb Miltiadis Vasilakis
75 700184fb Miltiadis Vasilakis
@end