00001
00020 #ifndef __NEW_SIM_FILE_H__
00021 #define __NEW_SIM_FILE_H__
00022
00023 #include <glib.h>
00024 #include <oh_utils.h>
00025
00026 extern "C" {
00027 #include "SaHpi.h"
00028 }
00029
00030 #ifndef __ARRAY_H__
00031 #include "array.h"
00032 #endif
00033
00039 #ifndef __NEW_SIM_RESOURCE_H__
00040 #include "new_sim_resource.h"
00041 #endif
00042
00043 #ifndef __NEW_SIM_FILE_UTIL_H__
00044 #include "new_sim_file_util.h"
00045 #endif
00046
00047
00048 class NewSimulatorDomain;
00049
00055 class NewSimulatorFile : public NewSimulatorFileUtil {
00056 private:
00057 double m_version;
00058 int m_file;
00059 int m_mode;
00060 int m_depth;
00061 cArray<SimulatorToken> m_tokens;
00062
00063 bool process_configuration_token();
00064 bool process_rpt_token(NewSimulatorDomain *domain);
00065 bool process_rpt_info(SaHpiResourceInfoT *rptinfo);
00066 bool process_rdr_token( NewSimulatorResource *res );
00067 bool process_empty();
00068
00069 public:
00070 NewSimulatorFile(const char *filename);
00071 ~NewSimulatorFile();
00073 enum mode {
00074 INIT = 0,
00075 UPDATE,
00076 UNKNOWN
00077 };
00078 bool Open();
00079 bool Discover( NewSimulatorDomain *domain );
00080 int &Mode() { return m_mode; }
00081 };
00082
00083
00084 #endif