00001 00025 #ifndef __NEW_SIM_RDR_H__ 00026 #define __NEW_SIM_RDR_H__ 00027 00028 00029 #ifndef __NEW_SIM_TEXT_BUFFER_H__ 00030 #include "new_sim_text_buffer.h" 00031 #endif 00032 00033 #include <glib.h> 00034 00035 extern "C" { 00036 #include "SaHpi.h" 00037 } 00038 00039 00040 class NewSimulatorResource; 00041 00042 00043 #ifndef __NEW_SIM_ENTITY_H__ 00044 #include "new_sim_entity.h" 00045 #endif 00046 00047 class NewSimulatorDomain; 00048 00049 00056 class NewSimulatorRdr { 00057 00058 protected: 00060 NewSimulatorResource *m_resource; 00062 SaHpiEntryIdT m_record_id; 00064 SaHpiRdrTypeT m_type; 00066 NewSimulatorEntityPath m_entity_path; 00068 SaHpiBoolT m_is_fru; 00070 NewSimulatorTextBuffer m_id_string; 00071 00072 00073 public: 00074 NewSimulatorRdr( NewSimulatorResource *res, SaHpiRdrTypeT type ); 00075 NewSimulatorRdr( NewSimulatorResource *res, SaHpiRdrTypeT type, 00076 SaHpiEntityPathT entity, SaHpiBoolT isFru, SaHpiTextBufferT idString); 00077 virtual ~NewSimulatorRdr(); 00078 00080 NewSimulatorResource *&Resource() { return m_resource; } 00082 SaHpiEntryIdT &RecordId() { return m_record_id; } 00084 SaHpiRdrTypeT &Type() { return m_type; } 00086 SaHpiBoolT &IsFru() { return m_is_fru; } 00088 NewSimulatorTextBuffer &IdString() { return m_id_string; } 00090 const NewSimulatorTextBuffer &IdString() const { return m_id_string; } 00092 NewSimulatorEntityPath &EntityPath() { return m_entity_path; } 00093 00094 NewSimulatorDomain *Domain(); 00095 00097 virtual bool CreateRdr( SaHpiRptEntryT &resource, SaHpiRdrT &rdr ); 00098 00100 virtual unsigned int Num() const = 0; 00102 virtual void Dump( NewSimulatorLog &dump ) const = 0; 00103 00104 00105 private: 00107 bool m_populate; 00108 00109 public: 00110 virtual bool Populate(GSList **); 00111 }; 00112 00113 00114 #endif