ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/parser.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 1832 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
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