75 lines
1.7 KiB
C++
75 lines
1.7 KiB
C++
|
// apgtshtiscan.cpp: implementation of the CAPGTSHTIScanner class.
|
||
|
//
|
||
|
//////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#include "stdafx.h"
|
||
|
#include "event.h"
|
||
|
#include "apgtshtiscan.h"
|
||
|
|
||
|
#ifdef _DEBUG
|
||
|
#undef THIS_FILE
|
||
|
static char THIS_FILE[]=__FILE__;
|
||
|
#define new DEBUG_NEW
|
||
|
#endif
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////
|
||
|
// Construction/Destruction
|
||
|
//////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
CAPGTSHTIScanner::CAPGTSHTIScanner(CPhysicalFileReader * pPhysicalFileReader, LPCTSTR szDefaultContents /*= NULL*/)
|
||
|
: CAPGTSHTIReader(pPhysicalFileReader, szDefaultContents)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
CAPGTSHTIScanner::CAPGTSHTIScanner(const CAPGTSHTIReader& htiReader)
|
||
|
: CAPGTSHTIReader(htiReader)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
CAPGTSHTIScanner::~CAPGTSHTIScanner()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
void CAPGTSHTIScanner::Scan(const CHTMLFragments& fragments)
|
||
|
{
|
||
|
LOCKOBJECT();
|
||
|
try
|
||
|
{
|
||
|
m_pFragments = &fragments;
|
||
|
InitializeInterpreted();
|
||
|
////Interpret(); - NO interpretation here, we are scanning data,
|
||
|
//// which is read from HTI file and not modified
|
||
|
ParseInterpreted();
|
||
|
SetOutputToInterpreted();
|
||
|
}
|
||
|
catch (...)
|
||
|
{
|
||
|
// Catch any other exception thrown.
|
||
|
CBuildSrcFileLinenoStr SrcLoc( __FILE__, __LINE__ );
|
||
|
CEvent::ReportWFEvent( SrcLoc.GetSrcFileLineStr(),
|
||
|
SrcLoc.GetSrcFileLineStr(),
|
||
|
_T(""), _T(""),
|
||
|
EV_GTS_GEN_EXCEPTION );
|
||
|
}
|
||
|
UNLOCKOBJECT();
|
||
|
}
|
||
|
|
||
|
void CAPGTSHTIScanner::ParseInterpreted()
|
||
|
{
|
||
|
for (vector<CString>::iterator i = m_arrInterpreted.begin(); i < m_arrInterpreted.end(); i++)
|
||
|
{
|
||
|
CString command;
|
||
|
|
||
|
if (GetCommand(*i, command))
|
||
|
{
|
||
|
if (command == COMMAND_VALUE)
|
||
|
{
|
||
|
CString variable;
|
||
|
|
||
|
if (GetVariable(*i, variable))
|
||
|
const_cast<CHTMLFragments*>(m_pFragments)->SetValue(variable);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|