00001
00021 #ifndef __NEW_SIM_FILE_UTIL_H__
00022 #define __NEW_SIM_FILE_UTIL_H__
00023
00024 #include <glib.h>
00025
00026 #ifndef __NEW_SIM_TEXT_BUFFER_H__
00027 #include "new_sim_text_buffer.h"
00028 #endif
00029
00030 extern "C" {
00031 #include "SaHpi.h"
00032 }
00033
00039 enum SimTokenType {
00040 CONFIG_TOKEN_HANDLER = G_TOKEN_LAST,
00041 RPT_TOKEN_HANDLER,
00042 RDR_TOKEN_HANDLER,
00043 RDR_DETAIL_TOKEN_HANDLER,
00044 SENSOR_TOKEN_HANDLER,
00045 CONTROL_TOKEN_HANDLER,
00046 INVENTORY_TOKEN_HANDLER,
00047 WATCHDOG_TOKEN_HANDLER,
00048 ANNUNCIATOR_TOKEN_HANDLER,
00049 DIMI_TOKEN_HANDLER,
00050 FUMI_TOKEN_HANDLER,
00051 CONTROL_GET_TOKEN_HANDLER,
00052 SENSOR_DATA_TOKEN_HANDLER,
00053 INVENTORY_DATA_TOKEN_HANDLER,
00054 INV_AREA_TOKEN_HANDLER,
00055 INV_FIELD_TOKEN_HANDLER,
00056 WTD_GET_TOKEN_HANDLER,
00057 ANNUNCIATOR_DATA_TOKEN_HANDLER,
00058 ANNOUNCEMENT_TOKEN_HANDLER,
00059 DIMI_DATA_TOKEN_HANDLER,
00060 DIMI_TESTCASE_TOKEN_HANDLER,
00061 DIMI_TEST_DATA_TOKEN_HANDLER,
00062 FUMI_DATA_TOKEN_HANDLER,
00063 FUMI_SOURCE_DATA_TOKEN_HANDLER,
00064 FUMI_TARGET_DATA_TOKEN_HANDLER,
00065 FUMI_LOG_TARGET_DATA_TOKEN_HANDLER
00066 };
00067
00076 class SimulatorToken {
00077 private:
00078 gchar *m_name;
00079 guint m_token;
00080
00081 public:
00082
00083 SimulatorToken(const gchar *name, const guint token);
00084 ~SimulatorToken();
00085
00086 gchar *Name() { return m_name; }
00087 guint &Token() { return m_token; }
00088 };
00089
00090
00091
00097 class NewSimulatorFileUtil {
00098 protected:
00099 GScanner *m_scanner;
00100
00101 public:
00102 NewSimulatorFileUtil();
00103 NewSimulatorFileUtil(GScanner *scanner);
00104 ~NewSimulatorFileUtil();
00105
00106 bool process_textbuffer(NewSimulatorTextBuffer &buffer);
00107 bool process_textbuffer(SaHpiTextBufferT &text);
00108 bool process_entity( SaHpiEntityPathT &path );
00109
00110 bool process_hexstring(guint max_len, gchar *str, SaHpiUint8T *hexlist);
00111 };
00112
00113
00114 #endif