Playlist Generator  1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Defines
SBJsonTokeniser.h
Go to the documentation of this file.
00001 /*
00002  Copyright (c) 2010, Stig Brautaset.
00003  All rights reserved.
00004  
00005  Redistribution and use in source and binary forms, with or without
00006  modification, are permitted provided that the following conditions are
00007  met:
00008  
00009  Redistributions of source code must retain the above copyright
00010  notice, this list of conditions and the following disclaimer.
00011  
00012  Redistributions in binary form must reproduce the above copyright
00013  notice, this list of conditions and the following disclaimer in the
00014  documentation and/or other materials provided with the distribution.
00015  
00016  Neither the name of the the author nor the names of its contributors
00017  may be used to endorse or promote products derived from this software
00018  without specific prior written permission.
00019  
00020  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
00021  IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
00022  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
00023  PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
00024  HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00025  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00026  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00027  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00028  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00029  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00030  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00031  */
00032 
00033 #import <Foundation/Foundation.h>
00034 
00035 typedef enum {
00036     sbjson_token_error = -1,
00037     sbjson_token_eof,
00038     
00039     sbjson_token_array_start,
00040     sbjson_token_array_end,
00041     
00042     sbjson_token_object_start,
00043     sbjson_token_object_end,
00044 
00045     sbjson_token_separator,
00046     sbjson_token_keyval_separator,
00047     
00048     sbjson_token_number,
00049     sbjson_token_string,
00050     sbjson_token_true,
00051     sbjson_token_false,
00052     sbjson_token_null,
00053     
00054 } sbjson_token_t;
00055 
00056 @class SBJsonUTF8Stream;
00057 
00058 @interface SBJsonTokeniser : NSObject 
00059 
00060 @property (strong) SBJsonUTF8Stream *stream;
00061 @property (copy) NSString *error;
00062 
00063 - (void)appendData:(NSData*)data_;
00064 
00065 - (sbjson_token_t)getToken:(NSObject**)token;
00066 
00067 @end