00001
00015 #ifndef P6JSONCONTENTHANDLER_H__
00016 #define P6JSONCONTENTHANDLER_H__ 1
00017
00018 #include "p6jsontypes.h"
00019 #include "p6jsonlocator.h"
00020
00021 namespace P6R {
00022
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026
00057 interface p6IJSONContentHandler : public p6ICom
00058 {
00069 P6COMMETHOD endDocument() = 0;
00070
00083 P6COMMETHOD endObject( P6UINT32 nestingLevel ) = 0;
00084
00097 P6COMMETHOD endArray( P6UINT32 nestingLevel ) = 0;
00098
00111 P6COMMETHOD setDocumentLocator( p6IJSONLocator* pObject ) = 0;
00112
00122 P6COMMETHOD startDocument() = 0;
00123
00135 P6COMMETHOD startObject( P6UINT32 nestingLevel ) = 0;
00136
00151 P6COMMETHOD startPair( P6JSONSTRING* pName ) = 0;
00152
00164 P6COMMETHOD startArray( P6UINT32 nestingLevel ) = 0;
00165
00187 P6COMMETHOD value( P6JSONVALUE* pValue ) = 0;
00188 };
00189
00190
00191 #define IF_p6IJSONContentHandler {0x97382b44,0x238,0x43de,{0x93,0xf,0x58,0x23,0x57,0x5a,0x7d,0x8e}}
00192
00193 #ifdef __cplusplus
00194 }
00195 #endif
00196
00197 }
00198
00199
00200 #endif
00201
00202
00203
00204
00205
00206