mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
104 lines
2.2 KiB
C++
104 lines
2.2 KiB
C++
#include "../HTMLReaderLib/LiteHTMLReader.h"
|
|
//#include <sys\types.h>
|
|
#include <sys\stat.h>
|
|
|
|
#include "atlbase.h"
|
|
#include "atlstr.h"
|
|
|
|
int FileSize (const char * szFileName)
|
|
{
|
|
struct stat fileStat;
|
|
int err = stat( szFileName, &fileStat );
|
|
if (0 != err)
|
|
return 0;
|
|
return fileStat.st_size;
|
|
}
|
|
|
|
CLiteHTMLElemAttr::CNamedColors CLiteHTMLElemAttr::_namedColors(166 /* block size */);
|
|
|
|
class CHTMLReaderTest: public ILiteHTMLReaderEvents
|
|
{
|
|
protected:
|
|
CLiteHTMLReader m_oReader;
|
|
public:
|
|
CHTMLReaderTest ()
|
|
{
|
|
m_oReader.setEventHandler (this);
|
|
}
|
|
UINT Read (LPCTSTR aHtml)
|
|
{
|
|
return m_oReader.Read (aHtml);
|
|
}
|
|
UINT ReadFile (HANDLE aFile)
|
|
{
|
|
return m_oReader.ReadFile (aFile);
|
|
}
|
|
|
|
public:
|
|
virtual void BeginParse(DWORD dwAppData, bool &bAbort)
|
|
{
|
|
ATLTRACE2 (_T("BeginParse\n"));
|
|
bAbort = false;
|
|
}
|
|
|
|
virtual void StartTag(CLiteHTMLTag *pTag, DWORD dwAppData, bool &bAbort)
|
|
{
|
|
bAbort = false;
|
|
|
|
ATLTRACE2 (_T("StartTag: %s\n"), pTag->getTagName());
|
|
}
|
|
|
|
virtual void EndTag(CLiteHTMLTag *pTag, DWORD dwAppData, bool &bAbort)
|
|
{
|
|
bAbort = false;
|
|
|
|
ATLTRACE2 (_T("EndTag: %s\n"), pTag->getTagName());
|
|
}
|
|
|
|
virtual void Characters(const CString &rText, DWORD dwAppData, bool &bAbort)
|
|
{
|
|
bAbort = false;
|
|
|
|
ATLTRACE2 (_T("Characters: %s\n"), rText);
|
|
}
|
|
|
|
virtual void Comment(const CString &rComment, DWORD dwAppData, bool &bAbort)
|
|
{
|
|
bAbort = false;
|
|
|
|
ATLTRACE2 (_T("Comment: %s\n"), rComment);
|
|
}
|
|
|
|
virtual void EndParse(DWORD dwAppData, bool bIsAborted)
|
|
{
|
|
ATLTRACE2 (_T("EndParse\n"));
|
|
}
|
|
|
|
};
|
|
|
|
int main (int argc, char *argv[ ], char *envp[ ])
|
|
{
|
|
CHTMLReaderTest oTest;
|
|
|
|
|
|
if (argc < 2)
|
|
{
|
|
ATLTRACE2 (_T("no parameters found!"));
|
|
return -1;
|
|
}
|
|
// remove "" from begin and end of string
|
|
CStringA sFileNameA = argv[1];
|
|
CString sFileName;
|
|
sFileName = sFileNameA;
|
|
|
|
HANDLE hFile = ::CreateFile (sFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
|
if (INVALID_HANDLE_VALUE == hFile)
|
|
{
|
|
ATLTRACE2 (_T("Can't open file!! (last error: 0x%x)"), GetLastError());
|
|
return -2;
|
|
}
|
|
|
|
UINT uiOpened = oTest.ReadFile (hFile);
|
|
CloseHandle (hFile);
|
|
return 0;
|
|
} |