]> err.no Git - sope/blob - sope-xml/XmlRpc/XmlRpcSaxHandler.h
converted all Xcode projects from Xcode < 2.1 to 2.1
[sope] / sope-xml / XmlRpc / XmlRpcSaxHandler.h
1 /*
2   Copyright (C) 2000-2005 SKYRIX Software AG
3
4   This file is part of SOPE.
5
6   SOPE is free software; you can redistribute it and/or modify it under
7   the terms of the GNU Lesser General Public License as published by the
8   Free Software Foundation; either version 2, or (at your option) any
9   later version.
10
11   SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
12   WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14   License for more details.
15
16   You should have received a copy of the GNU Lesser General Public
17   License along with SOPE; see the file COPYING.  If not, write to the
18   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19   02111-1307, USA.
20 */
21
22 #ifndef __XmlRpcSaxHandler_H__
23 #define __XmlRpcSaxHandler_H__
24
25 #include <SaxObjC/SaxDefaultHandler.h>
26
27 /*
28   Mappings:
29   
30     <i4> or <int>      -> NSNumber
31     <boolean>          -> NSNumber
32     <double>           -> NSNumber
33     <base64>           -> NSData
34     <string>           -> NSString
35     <dateTime.iso8601> -> NSCalendarDate
36     <struct>           -> NSDictionary
37     <array>            -> NSArray
38 */
39
40 @class NSMutableArray, NSTimeZone, NSCalendarDate;
41 @class XmlRpcMethodCall, XmlRpcMethodResponse;
42
43 @interface XmlRpcSaxHandler : SaxDefaultHandler
44 {
45   XmlRpcMethodCall     *call;
46   XmlRpcMethodResponse *response;
47   
48   NSMutableArray *params;
49   NSString       *methodName;
50   
51   BOOL           invalidCall;
52   NSMutableArray *tagStack;
53   
54   NSMutableArray *valueStack;
55   NSString       *className;
56   
57   NSMutableArray *memberNameStack;
58   NSMutableArray *memberValueStack;
59
60   NSTimeZone     *timeZone;
61   NSCalendarDate *dateTime;
62   NSMutableString *characters;
63   
64   unsigned valueNestingLevel;
65   SEL      nextCharactersProcessor;
66 }
67
68 /* reusing sax handler */
69
70 - (void)reset;
71
72 /* result accessors */
73
74 - (XmlRpcMethodCall *)methodCall;
75 - (XmlRpcMethodResponse *)methodResponse;
76
77 @end
78
79 #endif /* __XmlRpcSaxHandler_H__ */