#ifndef _SALOME_COMPONENT_IDL_
#define _SALOME_COMPONENT_IDL_
+#include "SALOME_GenericObj.idl"
#include "SALOMEDS.idl"
#include "SALOME_Exception.idl"
#include "SALOME_PyNode.idl"
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;
The fileTransfer and fileRef interfaces provide a file transfer service
between different computers.
*/
- interface fileTransfer
+ interface fileTransfer : SALOME::GenericObj
{
//! Open the file transfer
/*!
/*! \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);
};
};