Version: 6.5.0
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
SALOME_Component.idl
Go to the documentation of this file.
1 // Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 // File : SALOME_Component.idl
23 // Author : Paul RASCLE, EDF
24 
25 #ifndef _SALOME_COMPONENT_IDL_
26 #define _SALOME_COMPONENT_IDL_
27 
28 #include "SALOME_GenericObj.idl"
29 #include "SALOMEDS.idl"
30 #include "SALOME_Exception.idl"
31 #include "SALOME_PyNode.idl"
32 
41 module Engines
42 {
47  typedef sequence<octet> TMPFile;
48 
50  struct KeyValuePair
51  {
52  string key;
53  any value;
54  };
55 
57  struct dataref
58  {
59  string ref;
60  };
61 
62  typedef sequence<KeyValuePair> FieldsDict;
63 
64  interface EngineComponent ;
65  interface fileRef ;
66  interface fileTransfer ;
67  interface Salome_file;
68 
74  interface Container
75  {
76 
85  boolean load_component_Library(in string componentName, out string reason);
86 
88 
97  Engines::EngineComponent create_component_instance(in string componentName,
98  in long studyId);
99 
101 
112  Engines::EngineComponent create_component_instance_env(in string componentName,
113  in long studyId, in FieldsDict env,
114  out string reason);
116 
123  EngineComponent find_component_instance(in string registeredName,
124  in long studyId);
125 
127 
136  EngineComponent load_impl(in string nameToRegister,
137  in string componentName);
138 
140 
143  void remove_impl(in EngineComponent component_i);
144 
146  void finalize_removal() ;
147 
149  void ping();
150 
152  readonly attribute string name ;
153 
155  readonly attribute string workingdir ;
156 
158  attribute string logfilename ;
159 
161  void Shutdown();
162 
164  string getHostName();
165 
167  long getPID();
168 
170 
175  boolean Kill_impl() ;
176 
178 
184  fileRef createFileRef(in string origFileName);
185 
187 
195  Salome_file createSalome_file(in string origFileName);
196 
198 
203  fileTransfer getFileTransfer();
204 
206 
211  void copyFile(in Container contai, in string remoteFile, in string localFile);
212 
214 
218  PyNode createPyNode(in string nodeName, in string code) raises(SALOME::SALOME_Exception);
219 
221 
225  PyScriptNode createPyScriptNode(in string nodeName, in string code) raises(SALOME::SALOME_Exception);
226  };
227 
232  interface EngineComponent
233  {
235  readonly attribute string instanceName ;
236 
238  readonly attribute string interfaceName ;
239 
241  void ping();
242 
244 
250  long getStudyId();
251 
253 
258  void destroy() ;
259 
261  Container GetContainerRef() ;
262 
264 
270  void setProperties(in FieldsDict dico);
271 
273 
277  FieldsDict getProperties();
278 
280 
283  void SetOption(in string optionName, in string value);
284 
286 
289  string GetOption(in string optionName);
290 
292 
298  void Names( in string aGraphName , in string aNodeName ) ;
299 
301 
304  boolean Kill_impl() ;
305 
307 
311  boolean Stop_impl() ;
312 
314 
318  boolean Suspend_impl() ;
319 
321 
324  boolean Resume_impl() ;
325 
327 
330  long CpuUsed_impl() ;
331 
333 
337  TMPFile DumpPython(in Object theStudy,
338  in boolean isPublished,
339  in boolean isMultiFile,
340  out boolean isValidScript);
341 
342 
344 
354  Engines::Salome_file getInputFileToService(in string service_name,
355  in string Salome_file_name) raises(SALOME::SALOME_Exception);
356 
358 
373  void checkInputFilesToService(in string service_name) raises(SALOME::SALOME_Exception);
374 
376 
386  Engines::Salome_file setInputFileToService(in string service_name,
387  in string Salome_file_name) raises(SALOME::SALOME_Exception);
388 
390 
400  Engines::Salome_file getOutputFileToService(in string service_name,
401  in string Salome_file_name) raises(SALOME::SALOME_Exception);
402 
404 
419  void checkOutputFilesToService(in string service_name) raises(SALOME::SALOME_Exception);
420 
422 
432  Engines::Salome_file setOutputFileToService(in string service_name,
433  in string Salome_file_name) raises(SALOME::SALOME_Exception);
434 
436 
441  boolean hasObjectInfo();
442 
444 
455  string getObjectInfo(in long studyId, in string entry);
456  } ;
457 
462  {
464  SALOME::StringSeq GetImportableFormats();
465  boolean ImportDataAs(in string format, in SALOME::GenericObj exporter);
466  };
467 
469  typedef sequence<octet> fileBlock;
470 
476  {
478 
486  long open(in string fileName);
488 
492  long openW(in string fileName);
493 
495 
499  void close(in long fileId);
500 
502 
506  fileBlock getBlock(in long fileId);
507 
509 
513  void putBlock(in long fileId, in fileBlock block);
514 
515  };
516 
518  struct file {
520  string file_name;
522  string path;
523  string type;
524  string source_file_name;
526  string status;
527  long node;
528  Engines::Container container;
529  };
530 
532  typedef sequence<Engines::file> files;
533 
534 
536  struct SfState {
538  string name;
540  string hdf5_file_name;
544  boolean files_ok;
545 
546  };
547 
554  {
556 
562  void load(in string hdf5_file) raises (SALOME::SALOME_Exception);
563 
565 
572  void save(in string hdf5_file) raises (SALOME::SALOME_Exception);
573 
575 
583  void save_all(in string hdf5_file) raises (SALOME::SALOME_Exception);
584 
585 /**************/
586 
588 
594  void setLocalFile(in string comp_file_name) raises (SALOME::SALOME_Exception);
595 
597 
603  void setDistributedFile(in string comp_file_name) raises (SALOME::SALOME_Exception);
604 
606 
613  void connect(in Engines::Salome_file source_Salome_file) raises (SALOME::SALOME_Exception);
614 
616 
623  void connectDistributedFile(in string file_name,
624  in Engines::Salome_file source_Salome_file) raises (SALOME::SALOME_Exception);
625 
627 
634  void setDistributedSourceFile(in string file_name,
635  in string source_file_name) raises (SALOME::SALOME_Exception);
636 
637 /**************/
638 
640 
644  void recvFiles() raises (SALOME::SALOME_Exception) ;
645 
646 /**************/
647 
649 
655  void removeFile(in string file_name) raises (SALOME::SALOME_Exception);
656 
658  void removeFiles();
659 
660 /**************/
661 
663 
666  Engines::files getFilesInfos();
667 
669 
677  Engines::file getFileInfos(in string file_name) raises (SALOME::SALOME_Exception);
678 
680  Engines::SfState getSalome_fileState();
681 
682 
684 
688  void setContainer(in Engines::Container container);
689  };
690 
708  interface fileRef
709  {
711  readonly attribute string origFileName;
713  readonly attribute string refMachine;
714 
715  Container getContainer();
716 
717  boolean addRef(in string machine,
718  in string fileName);
719 
720  string getRef(in string machine);
721  };
722 };
723 
724 #endif
string hdf5_file_name
hdf5 file where the file can be saved
Definition: SALOME_Component.idl:540
Interface of fileRef. The fileTransfer and fileRef interfaces provide a file transfer service between...
Definition: SALOME_Component.idl:708
The state of a Salome_file.
Definition: SALOME_Component.idl:536
interface for remote python execution
readonly attribute string workingdir
working directory of the container
Definition: SALOME_Component.idl:155
readonly attribute string instanceName
The name of the instance of the Component.
Definition: SALOME_Component.idl:235
Structure data type to hold reference on data.
Definition: SALOME_Component.idl:57
interface for common behavior of SALOME transient CORBA objects
Definition: SALOME_GenericObj.idl:40
string path
path name
Definition: SALOME_Component.idl:522
Interface of the component. This interface is used for interaction between the container and the comp...
Definition: SALOME_Component.idl:232
string status
status ("present" or "notpresent")
Definition: SALOME_Component.idl:526
The main exception in SALOME application.
Definition: SALOME_Exception.idl:70
string name
file name
Definition: SALOME_Component.idl:538
string file_name
file name
Definition: SALOME_Component.idl:520
readonly attribute string origFileName
the original file
Definition: SALOME_Component.idl:711
Interface of the Container. This interface defines the process of loading and registration of new com...
Definition: SALOME_Component.idl:74
Base interface of the component that supports exporting data.
Definition: SALOME_Component.idl:461
Definition: SALOME_PyNode.idl:54
attribute string logfilename
name of the container log file (this has been set by the launcher)
Definition: SALOME_Component.idl:158
sequence< octet > TMPFile
Definition: SALOME_Component.idl:47
General Key Value Structure to set or get properties, for component.
Definition: SALOME_Component.idl:50
sequence< Engines::file > files
A sequence of Engines::file.
Definition: SALOME_Component.idl:532
Definition: SALOME_PyNode.idl:41
readonly attribute string refMachine
the machine of the original file
Definition: SALOME_Component.idl:713
This is a package of interfaces used for connecting new components to SALOME application. It also contains a set of interfaces used for management of MED component in SALOME application.
Definition: DSC_Engines.idl:36
boolean files_ok
information if all the files are received
Definition: SALOME_Component.idl:544
sequence< octet > fileBlock
A block of binary data used for file transfer. The maximum size of the block is defined on server sid...
Definition: SALOME_Component.idl:466
readonly attribute string name
Name of the container.
Definition: SALOME_Component.idl:152
readonly attribute string interfaceName
The name of the interface of the Component.
Definition: SALOME_Component.idl:238
A file managed by a Salome_file.
Definition: SALOME_Component.idl:518
Interface of fileTransfer. The fileTransfer and fileRef interfaces provide a file transfer service be...
Definition: SALOME_Component.idl:475
This file contains a set of interfaces used for creation, management and modification of the Study...
long number_of_files
number of files managed
Definition: SALOME_Component.idl:542
interface for common behavior of SALOME transient CORBA objects
Interface of a Salome_file managed This file is independent of a Salome module. It can managed one or...
Definition: SALOME_Component.idl:553
This file contains the objects defining the main exception used in SALOME application.
Copyright © 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS