Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ccontenthandler.h
#ifndef CCONTENTHANDLER_H__
#define CCONTENTHANDLER_H__ 1
#include "p6loader.h"
namespace P6EXAMPLES {
interface IContentHandlerInit : P6R::p6ICom
{
P6COMMETHOD initialize( P6R::p6IConsole *pConsole, P6R::p6ISafeString* pStr ) = 0;
};
/* {21326737-FBDF-4D27-AF5A-DAB2E7ADBF9E} */
#define IF_IContentHandlerInit {0x21326737,0xFBDF,0x4D27,{0xAF,0x5A,0xDA,0xB2,0xE7,0xAD,0xBF,0x9E}};
//
class CContentHandler : public P6R::p6IJSONContentHandler, public IContentHandlerInit
{
public:
P6COMMETHOD endDocument();
P6COMMETHOD endObject( P6R::P6UINT32 nestingLevel );
P6COMMETHOD endArray( P6R::P6UINT32 nestingLevel );
P6COMMETHOD setDocumentLocator( P6R::p6IJSONLocator* pObject );
P6COMMETHOD startDocument();
P6COMMETHOD startObject( P6R::P6UINT32 nestingLevel );
P6COMMETHOD startPair( P6R::P6JSONSTRING* pName );
P6COMMETHOD startArray( P6R::P6UINT32 nestingLevel );
P6COMMETHOD value( P6R::P6JSONVALUE* pValue );
P6COMMETHOD initialize(P6R::p6IConsole *pConsole, P6R::p6ISafeString* pStr);
CContentHandler();
virtual ~CContentHandler();
protected:
P6R::P6BOOL m_bInitialized; // -> don't allow any operation until properly initialized
P6R::p6ComPtr<P6R::p6IConsole> m_cpConsole; // ->
P6R::p6ComPtr<P6R::p6IJSONLocator> m_cpLoc; // -> utility object
P6R::P6UINT32 m_startPair; // -> counters to help match returned cases
P6R::P6UINT32 m_startObj; // ->
P6R::P6UINT32 m_startArray; // ->
};
} // namespace
#endif