Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
|
@ -0,0 +1,75 @@
|
|||
#include "main.h"
|
||||
#include "./DeviceNodeParser.h"
|
||||
#include "../../xml/obj_xml.h"
|
||||
|
||||
DeviceNodeParser::DeviceNodeParser()
|
||||
: reader(NULL), test(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
DeviceNodeParser::~DeviceNodeParser()
|
||||
{
|
||||
End();
|
||||
}
|
||||
|
||||
|
||||
BOOL DeviceNodeParser::Begin(obj_xml *xmlReader, TestSuite *testSuite)
|
||||
{
|
||||
if (NULL != reader || NULL != test)
|
||||
return FALSE;
|
||||
|
||||
if (NULL == xmlReader || NULL == testSuite)
|
||||
return FALSE;
|
||||
|
||||
reader = xmlReader;
|
||||
reader->AddRef();
|
||||
|
||||
test = testSuite;
|
||||
|
||||
reader->xmlreader_registerCallback(L"testprovider\fdevices\fdevice", this);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void DeviceNodeParser::End()
|
||||
{
|
||||
if (NULL != reader)
|
||||
{
|
||||
reader->xmlreader_unregisterCallback(this);
|
||||
reader->Release();
|
||||
reader = NULL;
|
||||
}
|
||||
|
||||
if (NULL != test)
|
||||
test = NULL;
|
||||
}
|
||||
|
||||
|
||||
void DeviceNodeParser::Event_XmlStartElement(const wchar_t *xmlpath, const wchar_t *xmltag, ifc_xmlreaderparams *params)
|
||||
{
|
||||
elementParser.Begin(reader, params);
|
||||
}
|
||||
|
||||
void DeviceNodeParser::Event_XmlEndElement(const wchar_t *xmlpath, const wchar_t *xmltag)
|
||||
{
|
||||
Device *result;
|
||||
if (FALSE != elementParser.End(reader, &result))
|
||||
{
|
||||
if (NULL != test)
|
||||
test->AddDevice(result);
|
||||
|
||||
result->Release();
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceNodeParser::Event_XmlError(int linenum, int errcode, const wchar_t *errstr)
|
||||
{
|
||||
}
|
||||
|
||||
#define CBCLASS DeviceNodeParser
|
||||
START_DISPATCH;
|
||||
VCB(ONSTARTELEMENT, Event_XmlStartElement)
|
||||
VCB(ONENDELEMENT, Event_XmlEndElement)
|
||||
VCB(ONERROR, Event_XmlError)
|
||||
END_DISPATCH;
|
||||
#undef CBCLASS
|
Loading…
Add table
Add a link
Reference in a new issue