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 |
|
---|
46 | class CParseXML {
|
---|
47 | private:
|
---|
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;
|
---|
54 | private:
|
---|
55 | DWORD Read ();
|
---|
56 | DWORD SetError (DWORD dw) { m_dwError = dw; return m_dwError; }
|
---|
57 | public:
|
---|
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 |
|
---|
75 | typedef struct fifo {
|
---|
76 | CHAR *string;
|
---|
77 | fifo *prev;
|
---|
78 | } FIFO;
|
---|
79 |
|
---|
80 | class CLASS_IMPORT_EXPORT CFIFOString {
|
---|
81 | private:
|
---|
82 | FIFO *m_fifoTail;
|
---|
83 | public:
|
---|
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.