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 };