From: tajchman Date: Sun, 18 Apr 2004 21:24:07 +0000 (+0000) Subject: add DataStreams to ModuleCatalog idl X-Git-Tag: Ecole_Ete_a1~11 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=ac66a9dc368fd530f6d869ad132275a91bb93ab5;p=modules%2Fkernel.git add DataStreams to ModuleCatalog idl --- diff --git a/idl/Makefile.in b/idl/Makefile.in index 5d8a1f21d..2c96c9b5f 100644 --- a/idl/Makefile.in +++ b/idl/Makefile.in @@ -25,7 +25,8 @@ IDL_FILES = \ MPIObject.idl \ MPIContainer.idl \ Logger.idl \ - SALOME_GenericObj.idl + SALOME_GenericObj.idl \ + SALOME_TestModuleCatalog.idl PY_CLIENT_IDL = $(IDL_FILES) diff --git a/idl/SALOME_ModuleCatalog.idl b/idl/SALOME_ModuleCatalog.idl index 61883a91c..1bac5ce71 100644 --- a/idl/SALOME_ModuleCatalog.idl +++ b/idl/SALOME_ModuleCatalog.idl @@ -58,11 +58,34 @@ This struct contains fields defining the parameter of the service. string Parametername; /*! ListOfServicesParameter; + typedef sequence ListOfServicesDataStreamParameter; /*! This struct contains fields completely defining each service. @@ -70,11 +93,13 @@ This struct contains fields completely defining each service. struct Service { - string ServiceName; /*! ListOfInterfaces ; + +/*! +PathPrefix : association of a machine name and +a path to a component +*/ + struct PathPrefix { + string machine; + string path; + }; + +/*! +List of path prefixes +*/ + typedef sequence PathPrefixes; + +/*! +Description of a component +*/ + struct Component + { + ComponentType type; + string name; + string username; + boolean multistudy; + boolean implementationType; + string icon; + string constraint; + ListOfDefInterface interfaces; + PathPrefixes paths; + }; + /*! List of names of components. */ @@ -201,38 +257,38 @@ List of pair GUI elements (component name, component icone) string GetPathPrefix(in string machinename) raises(NotFound); /*! - Sets/gets the constraint affected to the component + Get the constraint affected to the component (to be resolved by LifeCycle for the computer choice) */ readonly attribute string constraint ; /*! -Sets/gets the name of the component +Get the name of the component */ readonly attribute string componentname; /*! -Sets/gets the user name of the component +Get the user name of the component */ readonly attribute string componentusername; /*! -Defines whether the component is multistudy or not +Ask whether the component is multistudy or not */ readonly attribute boolean multistudy; /*! -Defines the type of the component +Ask the type of the component */ readonly attribute ComponentType component_type ; /*! -Sets/gets the icone of the component (for IAPP) +Gets the icone of the component (for IAPP) */ readonly attribute string component_icone; /*! -Sets/gets the implementation type of the component : C++ or Python (for IAPP) +Gets the implementation type of the component : C++ or Python (for IAPP) */ readonly attribute boolean implementation_type; } ; @@ -275,5 +331,18 @@ Gets a list of names of components of a particular type, which belong to this ca Gets one component of the catalog. */ Acomponent GetComponent(in string componentname) raises(NotFound); + +/*! +Gets the description of a component of the catalog. +*/ + Component GetComponentInfo(in string componentName) raises(NotFound); + +/*! +Reads a xml file and imports new components from this file. +New components replace existing components with the same name. +*/ + void ImportXmlCatalogFile(in string filename) raises(NotFound); + + void shutdown(); } ; }; diff --git a/idl/SALOME_TestModuleCatalog.idl b/idl/SALOME_TestModuleCatalog.idl new file mode 100644 index 000000000..80f5be229 --- /dev/null +++ b/idl/SALOME_TestModuleCatalog.idl @@ -0,0 +1,54 @@ +// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// +// +// +// File : SALOME_TestModuleCatalog.idl +// Author : + +#ifndef _TestModuleCatalog_IDL +#define _TestModuleCatalog_IDL + +#include "SALOME_Component.idl" + +module SuperVisionTest { + + interface Adder ; + + interface AddComponent : Engines::Component { + +// DataStreamPorts Addition istream(INTEGER, in, T), ostream(STRING, out, I) +// DataStreamPorts Addition Ostream(FLOAT, out, T) + Adder Addition() ; + double Add( in double x , in double y , out double z ) ; + long Sigma( in long n ) ; + double LastResult() ; + }; + + interface Adder : Engines::Component { + double Add( in double x , in double y , out double z ) ; + double AddAndCompare( in double x , in double y , in Adder anOtherAdder, + out double z ) ; + void SetLastResult( in double z ) ; + void LastResult( out double z ) ; + }; + +} ; + +#endif