00001 00010 #include <orb.idl> 00011 #include "common.idl" 00012 00013 module phases { 00014 00017 struct PhaseStatus { 00019 long long timeCreated; 00021 long long timeLastAccessed; 00023 string status; 00025 string ior; 00027 long pid; 00029 long identifier; 00031 common::ClientData client; 00032 }; 00033 00036 struct PhaseState { 00038 double tk; 00040 double pa; 00042 CORBA::DoubleSeq comps; 00043 }; 00044 00047 interface dPhase { 00055 enum errorType {INVALID,BOUNDS,STATE,CALCULATION,UNKTYPE}; 00062 enum errorSeverity {WARNING,SERIOUS,FATAL,UNKSEV}; 00064 exception PhaseError { 00066 errorType type; 00068 errorSeverity severity; 00070 string caller; 00072 string description; 00073 }; 00075 void setState(in PhaseState ss) raises(PhaseError); 00077 void setTk(in double tk) raises(PhaseError); 00079 void setPa(in double pa) raises(PhaseError); 00081 void setMoles(in double m) raises(PhaseError); 00083 void setMass(in double w) raises(PhaseError); 00085 void setComps(in CORBA::DoubleSeq c) raises(PhaseError); 00087 void setGenericWts(in CORBA::DoubleSeq c) raises(PhaseError); 00088 00090 string getName(); 00092 string getCompName(in short i); 00094 CORBA::StringSeq getCompNames(); 00096 CORBA::StringSeq getCompFormulas(); 00098 CORBA::StringSeq getGenericCompFormulas(); 00100 string getFormula(); 00102 double getMW(); 00104 unsigned short getNcomp(); 00106 unsigned short getGenericNcomp(); 00107 00109 PhaseState getState(); 00111 double getTk(); 00113 double getPa(); 00115 double getMoles(); 00117 double getMass(); 00119 CORBA::DoubleSeq getComps(); 00121 CORBA::DoubleSeq getGenericWts(); 00122 00124 double getG(); 00126 double getH(); 00128 double getS(); 00130 double getCp(); 00132 double getV(); 00134 CORBA::DoubleSeq getMu(); 00135 00140 void update() raises(PhaseError); 00142 long long getLastAccessTime(); 00144 unsigned short isActive(); 00146 void remove(); 00147 }; 00148 00151 interface PhaseFactory { 00152 00154 CORBA::StringSeq getPhaseNames(); 00155 00157 dPhase spawnPhase(in string phaseName,in common::ClientData cd); 00158 00160 dPhase spawnPhaseProcess(in string phaseName,in common::ClientData cd); 00161 }; 00162 00164 interface Echo { 00165 string echoString(in string mesq); 00166 }; 00167 00170 interface PhaseManager { 00171 typedef sequence<PhaseStatus> StatSeq; 00172 00174 short getGracePeriod(); 00176 void setGracePeriod(in short sec); 00177 00179 void add(in dPhase dpv,in long pid,in common::ClientData cd); 00180 00182 short getNphase(); 00183 00185 StatSeq getStatus(); 00186 00189 double getLoad(in short p); 00190 00192 long getFreeMemory(); 00193 00195 long getAllocatedMemory(); 00196 00198 void update(); 00199 00202 void remove(in long i); 00203 00206 void apoptosize(in long i); 00207 }; 00208 00209 };