From ee2af19c38a074f526b114e5bb584bdf7aac92b5 Mon Sep 17 00:00:00 2001 From: vsr Date: Fri, 4 Mar 2011 14:49:43 +0000 Subject: [PATCH] 1. SALOME::GenericObj : Destroy() -> UnRegister() 2. Introduce interfaces ExportableObject and ImportableComponent interfaces --- idl/SALOME_Component.idl | 13 ++++++++++++- idl/SALOME_GenericObj.idl | 24 +++++++++++++++++++----- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/idl/SALOME_Component.idl b/idl/SALOME_Component.idl index b013be987..53209d1e7 100644 --- a/idl/SALOME_Component.idl +++ b/idl/SALOME_Component.idl @@ -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 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 /*! diff --git a/idl/SALOME_GenericObj.idl b/idl/SALOME_GenericObj.idl index 0d491f101..1ca030a6f 100644 --- a/idl/SALOME_GenericObj.idl +++ b/idl/SALOME_GenericObj.idl @@ -30,14 +30,28 @@ /*! \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 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); }; }; -- 2.39.2