#include "ccontenthandler.h"
using namespace P6R;
namespace P6EXAMPLES {
CContentHandler::CContentHandler() : m_bInitialized(
P6FALSE ),
m_cpStr(),
m_cpConsole(),
m_cpLoc(),
m_startPair( 0 ),
m_startObj( 0 ),
m_startArray( 0 )
{ }
CContentHandler::~CContentHandler()
{
}
{
if (m_bInitialized) return eAlreadyInitialized;
if (!pStr || !pConsole ) return eInvalidArg;
m_cpStr = pStr;
m_cpConsole = pConsole;
return eOk;
}
{
if (!m_bInitialized) return eNotInitialized;
m_cpConsole->writeStdout("-> endDocument()\n",NULL,0,NULL);
return eOk;
}
{
if (!m_bInitialized) return eNotInitialized;
m_cpConsole->writeStdout("-> entered endObject() Level [ %1$ ]\n",&args[0],1,NULL);
m_startObj--;
return eOk;
}
{
if (!m_bInitialized) return eNotInitialized;
m_cpConsole->writeStdout("-> entered endArray() Level [ %1$ ]\n",&args[0],1,NULL);
m_startArray--;
return eOk;
}
{
if (!m_bInitialized) return eNotInitialized;
if (NULL == pObject) return eInvalidArg;
m_cpLoc = pObject;
return eOk;
}
{
if (!m_bInitialized) return eNotInitialized;
m_cpConsole->writeStdout("-> startDocument()\n",NULL,0,NULL);
return eOk;
}
{
if (!m_bInitialized) return eNotInitialized;
m_cpConsole->writeStdout("-> startObject() Level [ %1$ ]\n",&args[0],1,NULL);
m_startObj++;
return eOk;
}
{
if (!m_bInitialized) return eNotInitialized;
m_cpConsole->writeStdout("-> startPair() [ %1$ ] %2$\n",&args[0],2,NULL);
m_startPair++;
return eOk;
}
{
if (!m_bInitialized) return eNotInitialized;
m_cpConsole->writeStdout("-> startArray() Level [ %1$ ]\n",&args[0],1,NULL);
m_startArray++;
return eOk;
}
{
if (!m_bInitialized) return eNotInitialized;
m_cpConsole->writeStdout("-> value() P6JSON_TYPE_NULL\n",NULL,0,NULL);
break;
}
m_cpConsole->writeStdout("-> value() P6JSON_TYPE_STR ( str[ %1$ ] len[ %2$ ] )\n",&args[0],2,NULL);
break;
}
m_cpConsole->writeStdout("-> value() P6JSON_TYPE_STRPART ( str[ %1$ ] len[ %2$ ] )\n",&args[0],2,NULL);
break;
}
m_cpConsole->writeStdout("-> value() P6JSON_TYPE_STREND ( str[ %1$ ] len[ %2$ ] )\n",&args[0],2,NULL);
break;
}
m_cpConsole->writeStdout("-> value() P6JSON_TYPE_BOOL ( %1$ )\n",&args[0],1,NULL);
break;
}
m_cpConsole->writeStdout("-> value() P6JSON_TYPE_INTEGER ( %1$ [ %2$ ] )\n",&args[0],2,NULL);
break;
}
m_cpConsole->writeStdout("-> value() P6JSON_TYPE_REAL ( %1$ )\n",&args[0],1,NULL);
break;
}
default: {
m_cpConsole->writeStdout("ERROR: Unknow Type [ %1$ ]\n",&args[0],1,NULL);
break;
}
}
return eOk;
}
}