00001
00009 #include <orb.idl>
00010 #include "common.idl"
00011
00012 module phases {
00013
00016 struct PhaseStatus {
00018 long long timeCreated;
00020 long long timeLastAccessed;
00022 string status;
00024 string ior;
00026 long pid;
00028 long identifier;
00030 common::ClientData client;
00031 };
00032
00035 struct PhaseState {
00037 double tk;
00039 double pa;
00041 CORBA::DoubleSeq comps;
00042 };
00043
00046 interface dPhase {
00054 enum errorType {INVALID,BOUNDS,STATE,CALCULATION,UNKTYPE};
00061 enum errorSeverity {WARNING,SERIOUS,FATAL,UNKSEV};
00063 exception PhaseError {
00065 errorType type;
00067 errorSeverity severity;
00069 string caller;
00071 string description;
00072 };
00074 void setState(in PhaseState ss) raises(PhaseError);
00076 void setTk(in double tk) raises(PhaseError);
00078 void setPa(in double pa) raises(PhaseError);
00080 void setMoles(in double m) raises(PhaseError);
00082 void setMass(in double w) raises(PhaseError);
00084 void setComps(in CORBA::DoubleSeq c) raises(PhaseError);
00086 void setGenericWts(in CORBA::DoubleSeq c) raises(PhaseError);
00087
00089 string getName();
00091 string getCompName(in short i);
00093 CORBA::StringSeq getCompNames();
00095 CORBA::StringSeq getCompFormulas();
00097 CORBA::StringSeq getGenericCompFormulas();
00099 string getFormula();
00101 double getMW();
00103 unsigned short getNcomp();
00105 unsigned short getGenericNcomp();
00106
00108 PhaseState getState();
00110 double getTk();
00112 double getPa();
00114 double getMoles();
00116 double getMass();
00118 CORBA::DoubleSeq getComps();
00120 CORBA::DoubleSeq getGenericWts();
00121
00123 double getG();
00125 double getH();
00127 double getS();
00129 double getCp();
00131 double getV();
00133 CORBA::DoubleSeq getMu();
00134
00139 void update() raises(PhaseError);
00141 long long getLastAccessTime();
00143 unsigned short isActive();
00145 void remove();
00146 };
00147
00150 interface PhaseFactory {
00151
00153 CORBA::StringSeq getPhaseNames();
00154
00156 dPhase spawnPhase(in string phaseName,in common::ClientData cd);
00157
00159 dPhase spawnPhaseProcess(in string phaseName,in common::ClientData cd);
00160 };
00161
00163 interface Echo {
00164 string echoString(in string mesq);
00165 };
00166
00169 interface PhaseManager {
00170 typedef sequence<PhaseStatus> StatSeq;
00171
00173 short getGracePeriod();
00175 void setGracePeriod(in short sec);
00176
00178 void add(in dPhase dpv,in long pid,in common::ClientData cd);
00179
00181 short getNphase();
00182
00184 StatSeq getStatus();
00185
00188 double getLoad(in short p);
00189
00191 long getFreeMemory();
00192
00194 long getAllocatedMemory();
00195
00197 void update();
00198
00201 void remove(in long i);
00202
00205 void apoptosize(in long i);
00206 };
00207
00208 };