00001 #ifndef PHASE_I_H 00002 #define PHASE_I_H 00003 00004 #include "phases.hh" 00005 #include "Phase.h" 00006 #include "PhaseExceptions.h" 00007 #include <time.h> 00008 00017 class Phase_i:public POA_phases::dPhase,public PortableServer::RefCountServantBase { 00018 public: 00019 Phase_i(Phase *sp); 00020 virtual ~Phase_i(); 00021 00022 // setting methods /////////////////////////////////////// 00024 void setState(const phases::PhaseState& ss) 00025 throw(phases::dPhase::PhaseError); 00027 void setTk(CORBA::Double tk) 00028 throw(phases::dPhase::PhaseError); 00030 void setPa(CORBA::Double pa) 00031 throw(phases::dPhase::PhaseError); 00033 void setMoles(CORBA::Double m) 00034 throw(phases::dPhase::PhaseError); 00036 void setMass(CORBA::Double w) 00037 throw(phases::dPhase::PhaseError); 00039 void setComps(const CORBA::DoubleSeq& c) 00040 throw(phases::dPhase::PhaseError); 00042 void setGenericWts(const CORBA::DoubleSeq& c) 00043 throw(phases::dPhase::PhaseError); 00044 00045 // getting intrinsic properties ///////////////////////// 00047 char *getName(); 00049 char *getCompName(CORBA::Short i); 00051 CORBA::StringSeq* getCompNames(); 00053 CORBA::StringSeq* getCompFormulas(); 00055 CORBA::StringSeq* getGenericCompFormulas(); 00057 char *getFormula(); 00059 CORBA::Double getMW(); 00061 CORBA::UShort getNcomp(); 00062 00063 // getting methods /////////////////////////////////////// 00065 phases::PhaseState* getState(); 00067 CORBA::Double getTk(); 00069 CORBA::Double getPa(); 00071 CORBA::Double getMoles(); 00073 CORBA::Double getMass(); 00075 CORBA::DoubleSeq* getComps(); 00077 CORBA::UShort getGenericNcomp(); 00079 CORBA::DoubleSeq* getGenericWts(); 00080 00082 CORBA::Double getG(); 00084 CORBA::Double getH(); 00086 CORBA::Double getS(); 00088 CORBA::Double getCp(); 00090 CORBA::Double getV(); 00092 CORBA::DoubleSeq* getMu(); 00093 00098 void update() 00099 throw(phases::dPhase::PhaseError); 00101 CORBA::LongLong getLastAccessTime(); 00103 CORBA::UShort isActive(); 00105 void remove(); 00106 00108 int verbose; 00109 00110 private: 00112 int active; 00114 Phase *pobj; 00116 time_t lastAccessTime; 00118 double *c; 00120 phases::dPhase::PhaseError errTranslate(PhaseError *e); 00121 }; 00122 #endif