source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/parser.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 1.8 KB
Line 
1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6#ifndef _PARSER_H
7#define _PARSER_H
8
9#include <winapifamily.h>
10
11#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
12#include <stdio.h>
13
14#undef CLASS_IMPORT_EXPORT
15#ifdef HHCTRL
16#define CLASS_IMPORT_EXPORT
17#elif defined (HHSETUP)
18#define CLASS_IMPORT_EXPORT __declspec (dllexport)
19#else
20#define CLASS_IMPORT_EXPORT __declspec (dllimport)
21#endif
22
23#define PARSER_API_INLINE
24#define MAX_LINE_LEN 1024
25
26#define F_OK 0
27#define F_NOFILE 1
28#define F_READ 2
29#define F_WRITE 3
30#define F_MEMORY 4
31#define F_EOF 5
32#define F_END 6
33#define F_TAGMISSMATCH 7
34#define F_MISSINGENDTAG 8
35#define F_NOTFOUND 9
36#define F_NOPARENT 10
37#define F_NULL 11
38#define F_NOTITLE 12
39#define F_LOCATION 13
40#define F_REFERENCED 14
41#define F_DUPLICATE 15
42#define F_DELETE 16
43#define F_CLOSE 17
44#define F_EXISTCHECK 19
45
46class CParseXML {
47private:
48 CHAR m_cCurToken[MAX_LINE_LEN];
49 CHAR m_cCurWord[MAX_LINE_LEN];
50 CHAR m_cCurBuffer[MAX_LINE_LEN];
51 FILE *m_fh;
52 CHAR *m_pCurrentIndex;
53 DWORD m_dwError;
54private:
55 DWORD Read ();
56 DWORD SetError (DWORD dw) { m_dwError = dw; return m_dwError; }
57public:
58 CParseXML () {
59 m_fh = NULL;
60 m_cCurBuffer[0] = '\0';
61 m_pCurrentIndex = NULL;
62 m_dwError = F_OK;
63 }
64 ~CParseXML () {
65 End ();
66 }
67 CHAR *GetFirstWord (CHAR *);
68 CHAR *GetValue (CHAR *);
69 DWORD Start (const CHAR *szFile);
70 void End ();
71 CHAR *GetToken ();
72 DWORD GetError () { return m_dwError; }
73};
74
75typedef struct fifo {
76 CHAR *string;
77 fifo *prev;
78} FIFO;
79
80class CLASS_IMPORT_EXPORT CFIFOString {
81private:
82 FIFO *m_fifoTail;
83public:
84 CFIFOString () { m_fifoTail = NULL; }
85 ~CFIFOString ();
86 void RemoveAll ();
87 DWORD AddTail (CHAR *sz);
88 DWORD GetTail (PZPSTR sz);
89};
90#endif
91
92#endif
Note: See TracBrowser for help on using the repository browser.