00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _DSC_ENGINES_IDL_
00027 #define _DSC_ENGINES_IDL_
00028
00029 #include "SALOME_Component.idl"
00030 #include "SALOME_Ports.idl"
00031
00035 module Engines {
00036
00060 interface DSC : Engines::Component {
00061
00062
00063
00064
00066
00072 typedef sequence<Ports::Port> uses_port;
00073
00075
00078 enum Message {AddingConnection,
00079 RemovingConnection,
00080 ApplicationError};
00081
00083 exception PortNotDefined {};
00084
00086 exception PortAlreadyDefined {};
00087
00089 exception PortNotConnected {};
00090
00092
00096 exception BadPortType {
00097 string expected;
00098 string received;
00099 };
00100
00102 exception NilPort {};
00103
00105 exception BadPortReference {};
00106
00108 exception BadProperty {};
00109
00110
00111
00112
00113
00115
00129 void add_provides_port(in Ports::Port ref,
00130 in string provides_port_name,
00131 in Ports::PortProperties port_prop) raises(PortAlreadyDefined,
00132 NilPort,
00133 BadProperty);
00134
00136
00150 void add_uses_port(in string repository_id,
00151 in string uses_port_name,
00152 in Ports::PortProperties port_prop) raises(PortAlreadyDefined,
00153 BadProperty);
00154
00156
00175 Ports::Port get_provides_port(in string provides_port_name,
00176 in boolean connection_error) raises(PortNotDefined,
00177 PortNotConnected,
00178 BadPortType);
00179
00181
00199 uses_port get_uses_port(in string uses_port_name) raises(PortNotDefined,
00200 PortNotConnected,
00201 BadPortType);
00202
00203
00205
00213 void connect_provides_port(in string provides_port_name) raises(PortNotDefined);
00214
00216
00225 void connect_uses_port(in string uses_port_name,
00226 in Ports::Port provides_port_ref) raises(PortNotDefined,
00227 BadPortType,
00228 NilPort);
00229
00231
00239 boolean is_connected(in string port_name) raises(PortNotDefined);
00240
00242
00250 void disconnect_provides_port(in string provides_port_name,
00251 in Engines::DSC::Message message) raises(PortNotDefined,
00252 PortNotConnected);
00253
00255
00265 void disconnect_uses_port(in string uses_port_name,
00266 in Ports::Port provides_port_ref,
00267 in Engines::DSC::Message message) raises(PortNotDefined,
00268 PortNotConnected,
00269 BadPortReference);
00271
00278 Ports::PortProperties get_port_properties(in string port_name) raises(PortNotDefined);
00279
00280 };
00281
00286 interface ConnectionManager {
00287
00289 exception BadId {};
00290
00292 typedef short connectionId;
00293
00295
00310 connectionId connect(in Engines::DSC uses_component,
00311 in string uses_port_name,
00312 in Engines::DSC provides_component,
00313 in string provides_port_name) raises(Engines::DSC::PortNotDefined,
00314 Engines::DSC::BadPortType,
00315 Engines::DSC::NilPort);
00316
00318
00326 void disconnect(in connectionId id,
00327 in Engines::DSC::Message message) raises(Engines::ConnectionManager::BadId,
00328 Engines::DSC::PortNotDefined,
00329 Engines::DSC::PortNotConnected,
00330 Engines::DSC::BadPortReference);
00331
00333 oneway void ShutdownWithExit();
00334
00336 long getPID();
00337 };
00338
00339
00340
00347 interface Superv_Component : Engines::DSC {
00348
00350
00357 boolean init_service(in string service_name);
00358 };
00359 };
00360
00361 #endif