00001
00021 #ifndef __NEW_SIM_FUMI_H__
00022 #define __NEW_SIM_FUMI_H__
00023
00024
00025 extern "C" {
00026 #include "SaHpi.h"
00027 }
00028
00029
00030 #ifndef __NEW_SIM_RDR_H__
00031 #include "new_sim_rdr.h"
00032 #endif
00033
00034 #ifndef __NEW_SIM_FUMI_DATA_H__
00035 #include "new_sim_fumi_data.h"
00036 #endif
00037
00038 class NewSimulatorDomain;
00039
00046 class NewSimulatorFumi : public NewSimulatorRdr {
00047
00048 private:
00050 SaHpiFumiRecT m_fumi_rec;
00052 SaHpiFumiSpecInfoT m_spec_info;
00054 SaHpiFumiServiceImpactDataT m_impact_data;
00056 SaHpiBoolT m_dis_rb;
00058 cArray<NewSimulatorFumiBank> m_banks;
00059
00060 NewSimulatorFumiBank *GetOrAddBank( SaHpiUint8T id );
00061 NewSimulatorFumiBank *GetBank( SaHpiUint8T id );
00062
00063
00064 public:
00065 NewSimulatorFumi( NewSimulatorResource *res );
00066 NewSimulatorFumi( NewSimulatorResource *res, SaHpiRdrT rdr );
00067 virtual ~NewSimulatorFumi();
00068
00069
00071 virtual unsigned int Num() const { return ( unsigned int ) m_fumi_rec.Num; }
00072
00073 bool SetData( SaHpiFumiRecT fumiRec );
00074 bool SetInfo( SaHpiFumiSpecInfoT spec, SaHpiFumiServiceImpactDataT impact,
00075 SaHpiBoolT rbDis );
00076 bool SetBankSource( NewSimulatorFumiBank *bank );
00077 bool SetBankTarget( NewSimulatorFumiBank *bank );
00078 bool SetBankLogical( NewSimulatorFumiBank *bank );
00079
00080
00081 virtual bool CreateRdr( SaHpiRptEntryT &resource, SaHpiRdrT &rdr );
00082
00083
00084 SaErrorT GetSpecInfo( SaHpiFumiSpecInfoT &spec );
00085 SaErrorT GetImpact( SaHpiFumiServiceImpactDataT &impact );
00086 SaErrorT SetSource( SaHpiBankNumT bank, SaHpiTextBufferT &src );
00087 SaErrorT ValidateSource( SaHpiBankNumT bank );
00088 SaErrorT GetSource( SaHpiBankNumT bank, SaHpiFumiSourceInfoT &src );
00089 SaErrorT GetComponentSource( SaHpiBankNumT bank, SaHpiEntryIdT comp,
00090 SaHpiEntryIdT &next, SaHpiFumiComponentInfoT &inf );
00091 SaErrorT GetTarget( SaHpiBankNumT bank, SaHpiFumiBankInfoT &trg );
00092 SaErrorT GetComponentTarget( SaHpiBankNumT bank, SaHpiEntryIdT comp,
00093 SaHpiEntryIdT &next, SaHpiFumiComponentInfoT &inf );
00094 SaErrorT GetTargetLogical( SaHpiFumiLogicalBankInfoT &trg );
00095 SaErrorT GetComponentTargetLogical( SaHpiEntryIdT comp, SaHpiEntryIdT &next,
00096 SaHpiFumiLogicalComponentInfoT &inf );
00097 SaErrorT StartBackup();
00098 SaErrorT SetOrder( SaHpiBankNumT bank, SaHpiUint32T pos );
00099 SaErrorT CopyBank( SaHpiBankNumT bank, SaHpiBankNumT dest );
00100 SaErrorT Install( SaHpiBankNumT bank );
00101 SaErrorT GetStatus( SaHpiBankNumT bank, SaHpiFumiUpgradeStatusT &status );
00102 SaErrorT VerifyTarget( SaHpiBankNumT bank );
00103 SaErrorT VerifyTargetMain();
00104 SaErrorT CancelUpgrade( SaHpiBankNumT bank );
00105 SaErrorT GetRollbackFlag( SaHpiBoolT &rollb );
00106 SaErrorT SetRollbackFlag( SaHpiBoolT rollb );
00107 SaErrorT Rollback();
00108 SaErrorT Activate();
00109 SaErrorT Activate( SaHpiBoolT log );
00110 SaErrorT Cleanup( SaHpiBankNumT bank );
00111
00112 virtual void Dump( NewSimulatorLog &dump ) const;
00113 };
00114
00115
00116 #endif