Go to the documentation of this file.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 _SALOME_COMPONENT_IDL_
00027 #define _SALOME_COMPONENT_IDL_
00028
00029 #include "SALOMEDS.idl"
00030 #include "SALOME_Exception.idl"
00031 #include "SALOME_PyNode.idl"
00032
00041 module Engines
00042 {
00047 typedef sequence<octet> TMPFile;
00048
00050 struct KeyValuePair
00051 {
00052 string key;
00053 any value;
00054 };
00055
00057 struct dataref
00058 {
00059 string ref;
00060 };
00061
00062 typedef sequence<KeyValuePair> FieldsDict;
00063
00064 interface Component ;
00065 interface fileRef ;
00066 interface fileTransfer ;
00067 interface Salome_file;
00068
00074 interface Container
00075 {
00076
00084 boolean load_component_Library(in string componentName);
00085
00087
00096 Engines::Component create_component_instance(in string componentName,
00097 in long studyId);
00098
00100
00107 Component find_component_instance(in string registeredName,
00108 in long studyId);
00109
00111
00120 Component load_impl(in string nameToRegister,
00121 in string componentName);
00122
00124
00127 void remove_impl(in Component component_i);
00128
00130 void finalize_removal() ;
00131
00133 void ping();
00134
00136 readonly attribute string name ;
00137
00139 readonly attribute string workingdir ;
00140
00142 attribute string logfilename ;
00143
00145 void Shutdown();
00146
00148 string getHostName();
00149
00151 long getPID();
00152
00154
00159 boolean Kill_impl() ;
00160
00162
00168 fileRef createFileRef(in string origFileName);
00169
00171
00179 Salome_file createSalome_file(in string origFileName);
00180
00182
00187 fileTransfer getFileTransfer();
00188
00190
00195 void copyFile(in Container contai, in string remoteFile, in string localFile);
00196
00198
00202 PyNode createPyNode(in string nodeName, in string code) raises(SALOME::SALOME_Exception);
00203 };
00204
00209 interface Component
00210 {
00212 readonly attribute string instanceName ;
00213
00215 readonly attribute string interfaceName ;
00216
00218 void ping();
00219
00221
00227 long getStudyId();
00228
00230
00235 void destroy() ;
00236
00238 Container GetContainerRef() ;
00239
00241
00247 void setProperties(in FieldsDict dico);
00248
00250
00254 FieldsDict getProperties();
00255
00257
00263 void Names( in string aGraphName , in string aNodeName ) ;
00264
00266
00269 boolean Kill_impl() ;
00270
00272
00276 boolean Stop_impl() ;
00277
00279
00283 boolean Suspend_impl() ;
00284
00286
00289 boolean Resume_impl() ;
00290
00292
00295 long CpuUsed_impl() ;
00296
00298
00302 TMPFile DumpPython(in Object theStudy,
00303 in boolean isPublished,
00304 out boolean isValidScript);
00305
00306
00308
00318 Engines::Salome_file getInputFileToService(in string service_name,
00319 in string Salome_file_name) raises(SALOME::SALOME_Exception);
00320
00322
00337 void checkInputFilesToService(in string service_name) raises(SALOME::SALOME_Exception);
00338
00340
00350 Engines::Salome_file setInputFileToService(in string service_name,
00351 in string Salome_file_name) raises(SALOME::SALOME_Exception);
00352
00354
00364 Engines::Salome_file getOutputFileToService(in string service_name,
00365 in string Salome_file_name) raises(SALOME::SALOME_Exception);
00366
00368
00383 void checkOutputFilesToService(in string service_name) raises(SALOME::SALOME_Exception);
00384
00386
00396 Engines::Salome_file setOutputFileToService(in string service_name,
00397 in string Salome_file_name) raises(SALOME::SALOME_Exception);
00398
00400
00405 boolean hasObjectInfo();
00406
00408
00419 string getObjectInfo(in long studyId, in string entry);
00420 } ;
00421
00423 typedef sequence<octet> fileBlock;
00424
00429 interface fileTransfer
00430 {
00432
00440 long open(in string fileName);
00442
00446 long openW(in string fileName);
00447
00449
00453 void close(in long fileId);
00454
00456
00460 fileBlock getBlock(in long fileId);
00461
00463
00467 void putBlock(in long fileId, in fileBlock block);
00468
00469 };
00470
00472 struct file {
00474 string file_name;
00476 string path;
00477 string type;
00478 string source_file_name;
00480 string status;
00481 long node;
00482 Engines::Container container;
00483 };
00484
00486 typedef sequence<Engines::file> files;
00487
00488
00490 struct SfState {
00492 string name;
00494 string hdf5_file_name;
00496 long number_of_files;
00498 boolean files_ok;
00499
00500 };
00501
00507 interface Salome_file : Engines::fileTransfer
00508 {
00510
00516 void load(in string hdf5_file) raises (SALOME::SALOME_Exception);
00517
00519
00526 void save(in string hdf5_file) raises (SALOME::SALOME_Exception);
00527
00529
00537 void save_all(in string hdf5_file) raises (SALOME::SALOME_Exception);
00538
00539
00540
00542
00548 void setLocalFile(in string comp_file_name) raises (SALOME::SALOME_Exception);
00549
00551
00557 void setDistributedFile(in string comp_file_name) raises (SALOME::SALOME_Exception);
00558
00560
00567 void connect(in Engines::Salome_file source_Salome_file) raises (SALOME::SALOME_Exception);
00568
00570
00577 void connectDistributedFile(in string file_name,
00578 in Engines::Salome_file source_Salome_file) raises (SALOME::SALOME_Exception);
00579
00581
00588 void setDistributedSourceFile(in string file_name,
00589 in string source_file_name) raises (SALOME::SALOME_Exception);
00590
00591
00592
00594
00598 void recvFiles() raises (SALOME::SALOME_Exception) ;
00599
00600
00601
00603
00609 void removeFile(in string file_name) raises (SALOME::SALOME_Exception);
00610
00612 void removeFiles();
00613
00614
00615
00617
00620 Engines::files getFilesInfos();
00621
00623
00631 Engines::file getFileInfos(in string file_name) raises (SALOME::SALOME_Exception);
00632
00634 Engines::SfState getSalome_fileState();
00635
00636
00638
00642 void setContainer(in Engines::Container container);
00643 };
00644
00662 interface fileRef
00663 {
00665 readonly attribute string origFileName;
00667 readonly attribute string refMachine;
00668
00669 Container getContainer();
00670
00671 boolean addRef(in string machine,
00672 in string fileName);
00673
00674 string getRef(in string machine);
00675 };
00676 };
00677
00678 #endif