]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
1. SALOME::GenericObj : Destroy() -> UnRegister()
authorvsr <vsr@opencascade.com>
Fri, 4 Mar 2011 14:49:43 +0000 (14:49 +0000)
committervsr <vsr@opencascade.com>
Fri, 4 Mar 2011 14:49:43 +0000 (14:49 +0000)
2. Introduce interfaces ExportableObject and ImportableComponent interfaces

idl/SALOME_Component.idl
idl/SALOME_GenericObj.idl

index b013be987f965dc1a55207abc317ebcb1e86c3d7..53209d1e79eb67a57116f33fc0ecad872b4703dc 100644 (file)
@@ -25,6 +25,7 @@
 #ifndef _SALOME_COMPONENT_IDL_
 #define _SALOME_COMPONENT_IDL_
 
+#include "SALOME_GenericObj.idl"
 #include "SALOMEDS.idl"
 #include "SALOME_Exception.idl"
 #include "SALOME_PyNode.idl"
@@ -441,6 +442,16 @@ module Engines
     string getObjectInfo(in long studyId, in string entry);
   } ;
 
+  /*!
+    \brief Base interface of the %component that supports exporting data.
+  */
+  interface ImportableComponent
+  {
+    /*! \brief Get a list of supported formats */
+    SALOME::StringSeq GetImportableFormats();
+    boolean           ImportDataAs(in string format, in SALOME::GenericObj exporter);
+  };
+
   //!  A block of binary data used for file transfer. The maximum size of the block is defined on server side.
   typedef sequence<octet> fileBlock;
 
@@ -448,7 +459,7 @@ module Engines
      The fileTransfer and fileRef interfaces provide a file transfer service
      between different computers.
   */
-  interface fileTransfer
+  interface fileTransfer : SALOME::GenericObj
   {
     //! Open the file transfer
     /*!
index 0d491f10137cf6aa1a0272940397f33886f27a78..1ca030a6f4e05d7ae7e4b30e4a4a2ed13440d809 100644 (file)
 /*! \file SALOME_GenericObj.idl \brief interface for common behavior of %SALOME transient CORBA objects 
 */
 
-module SALOME{
-/*! \brief interface for common behavior of %SALOME transient CORBA objects 
-*/
-  interface GenericObj{
+module SALOME {
+
+  typedef sequence<string> StringSeq;
+
+  /*!
+    \brief interface for common behavior of %SALOME transient CORBA objects 
+  */
+  interface GenericObj {
     /*! \brief Increase the reference count (mark as used by another object).*/
     void Register();
     /*! \brief Decrease the reference count (release by another object).*/
-    void Destroy();
+    void UnRegister();
+  };
+
+  /*!
+    \brief common usage interface for exporting of arbitrary data in %SALOME environment
+  */
+  interface ExportableObject : GenericObj {
+    /*! \brief Get a list of supported formats */
+    StringSeq GetExportableFormats();
+    /*! \brief Export data in the specified format */
+    boolean   ExportDataAs(in string format, out GenericObj exporter);
   };
 };