aboutsummaryrefslogtreecommitdiffstats
path: root/tool/PGListUtil/src/common/CErrorList.h
diff options
context:
space:
mode:
Diffstat (limited to 'tool/PGListUtil/src/common/CErrorList.h')
-rw-r--r--tool/PGListUtil/src/common/CErrorList.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/tool/PGListUtil/src/common/CErrorList.h b/tool/PGListUtil/src/common/CErrorList.h
new file mode 100644
index 00000000..5583bb8d
--- /dev/null
+++ b/tool/PGListUtil/src/common/CErrorList.h
@@ -0,0 +1,43 @@
+#ifndef CERRLIST_H
+#define CERRLIST_H
+
+#include <boost/pool/pool.hpp>
+#include "common.h"
+
+namespace pglu {
+namespace error {
+
+typedef enum _EErrKind {
+ SYNTAX,
+ IP,
+ SYNTAX_RESTORABLE
+} EErrKind;
+
+typedef struct _CError {
+ int line;
+ EErrKind kind;
+ _CError * next;
+} CError;
+
+class CErrorList {
+private:
+ boost::pool<> m_pool;
+ CError m_errHead;
+ CError * m_errFoot;
+ CError * m_errNext;
+ int m_count;
+
+public:
+ CErrorList();
+ ~CErrorList();
+
+ void Clear();
+ bool LoadListFile(const char *path);
+ int Count();
+ CError * GetNext();
+};
+
+} // namespace error
+} // namespace pglu
+
+#endif // CERRLIST_H