00001 00022 #ifndef __NEW_SIM_FUMI_DATA_H__ 00023 #define __NEW_SIM_FUMI_DATA_H__ 00024 00025 00026 extern "C" { 00027 #include "SaHpi.h" 00028 } 00029 00030 00031 #ifndef __NEW_SIM_RDR_H__ 00032 #include "new_sim_rdr.h" 00033 #endif 00034 00035 class NewSimulatorDomain; 00036 00037 00044 class NewSimulatorFumiComponent { 00045 00046 private: 00048 SaHpiFumiComponentInfoT m_target_info; 00050 SaHpiFumiComponentInfoT m_source_info; 00052 SaHpiFumiLogicalComponentInfoT m_logical; 00053 00054 public: 00055 NewSimulatorFumiComponent(); 00056 virtual ~NewSimulatorFumiComponent(); 00057 00059 virtual SaHpiUint32T Num() const { return m_target_info.ComponentId; } 00060 00062 SaHpiFumiComponentInfoT GetSourceData() const { return m_source_info; } 00063 bool SetSourceData( SaHpiFumiComponentInfoT cinf ); 00064 00066 SaHpiFumiComponentInfoT GetTargetData() const { return m_target_info; } 00067 bool SetTargetData( SaHpiFumiComponentInfoT cinf ); 00068 00070 SaHpiFumiComponentInfoT GetData() const { return m_target_info; } 00071 bool SetData( SaHpiFumiComponentInfoT cinf ); 00072 00074 SaHpiFumiLogicalComponentInfoT GetLogicalData() const { return m_logical; } 00075 bool SetData( SaHpiFumiLogicalComponentInfoT cinf ); 00076 00077 // methods for HPI functions 00078 00079 virtual void Dump( NewSimulatorLog &dump ) const; 00080 }; 00081 00082 00089 class NewSimulatorFumiBank { 00090 private: 00092 SaHpiFumiSourceInfoT m_source; 00094 SaHpiTextBufferT m_source_loc; 00096 SaHpiFumiBankInfoT m_target; 00098 SaHpiFumiLogicalBankInfoT m_logical; 00099 00101 cArray<NewSimulatorFumiComponent> m_comps; 00102 00103 NewSimulatorFumiComponent *GetComponent( SaHpiUint32T id ); 00104 00105 public: 00106 NewSimulatorFumiBank(); 00107 virtual ~NewSimulatorFumiBank(); 00108 00110 virtual SaHpiUint8T Num() const { return m_target.BankId; } 00111 bool SetId( SaHpiUint8T id ); 00112 00114 SaHpiFumiSourceInfoT GetSource() const { return m_source; } 00115 bool SetData( SaHpiFumiSourceInfoT src ); 00116 00118 SaHpiFumiBankInfoT GetTarget() const { return m_target; } 00119 bool SetData( SaHpiFumiBankInfoT trg ); 00120 00122 SaHpiFumiLogicalBankInfoT GetLogical() const { return m_logical; } 00123 bool SetData( SaHpiFumiLogicalBankInfoT lgc ); 00124 00125 bool AddSourceComponent( NewSimulatorFumiComponent *component ); 00126 bool AddTargetComponent( NewSimulatorFumiComponent *component ); 00127 bool AddLogicalTargetComponent( NewSimulatorFumiComponent *component ); 00128 00129 // HPI functions 00130 SaErrorT SetSource( SaHpiTextBufferT &src ); 00131 SaErrorT GetSource( SaHpiFumiSourceInfoT &src ); 00132 SaErrorT GetTarget( SaHpiFumiBankInfoT &trg ); 00133 SaErrorT GetLogicalTarget( SaHpiFumiLogicalBankInfoT &trg ); 00134 00135 virtual void Dump( NewSimulatorLog &dump ) const; 00136 }; 00137 00138 00139 00140 00141 #endif 00142