1 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License.
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
22 // File : SALOME_ModuleCatalog.idl
23 // Author : Estelle Deville
26 /*! \file SALOME_ModuleCatalog.idl This file conatins a set of interfaces used for
27 creation of the catalog of components in %SALOME application
31 The main package of interfaces used for creation of the module catalog in %SALOME application.
33 module SALOME_ModuleCatalog
37 This enumeration contains a set of definitions of the components integrated
38 into %SALOME application.
40 enum ComponentType { GEOM, /*!<Module %GEOM */
41 MESH, /*!<Module %MESH */
42 Med, /*!<Module %Med*/
43 SOLVER, /*!<Module of %SOLVER type */
44 DATA, /*!<Module %DATA */
45 VISU, /*!<Module %VISU */
46 SUPERV, /*!<Module %SUPERVISION */
47 OTHER /*!<Any other type of module */
50 This struct contains fields defining the parameters of the services.
53 struct ServicesParameter
55 string Parametertype; /*!<Type of the parameter.*/
56 string Parametername; /*!<Name of the parameter.*/
59 typedef sequence<ServicesParameter> ListOfServicesParameter;
61 This struct contains fields completely defining each service.
66 string ServiceName; /*!<Name of the service.*/
67 ListOfServicesParameter ServiceinParameter; /*!< List of input parameters of the services.*/
68 ListOfServicesParameter ServiceoutParameter; /*!< List of input parameters of the services.*/
69 boolean Servicebydefault; /*!<True if the service is taken with its defult fields.*/
72 List of services of the interface.
74 typedef sequence<Service> ListOfInterfaceService;
78 typedef sequence<string> ListOfServices ;
80 This struct contains fields defining each interface.
82 struct DefinitionInterface
84 string interfacename ; /*!<Name of the interface.*/
85 ListOfInterfaceService interfaceservicelist ; /*!<List of services of the interface.*/
88 List of interface definitions.
90 typedef sequence<DefinitionInterface> ListOfDefInterface ;
94 typedef sequence<string> ListOfInterfaces ;
96 List of names of components.
98 typedef sequence<string> ListOfComponents ;
100 List of names of computers.
102 typedef sequence<string> ListOfComputers ;
104 This struct contains GUI elements used for representation of the module in %IAPP component.
108 string modulename; /*!<Name of the module.*/
109 string moduleusername; /*!<UserName of the module.*/
110 string moduleicone; /*!<Icone representing the module.*/
113 List of pair GUI elements (component name, component icone)
114 used for representation of the module in %IAPP component.
116 typedef sequence<IAPP_Affich> ListOfIAPP_Affich ;
119 This exception is raised when a %component, a %service or a % pathPrefix is not found.
123 string what ; /*!<Indicates if it's a %component, a %service or a % pathPrefix.*/
128 // GetInterfaceList : operation to get a list of the interfaces name of
131 Gets a list of names of interfaces of the component
132 \return a list of interfaces of the component
134 ListOfInterfaces GetInterfaceList() ;
136 // GetInterface : operation to get one interface of a component
139 Gets a definite interface of the component
140 \note <BR>If the specified interface doesn't exist, Notfound exception is thrown
141 \param interfacename Name of the interface
142 \return Required interface
144 DefinitionInterface GetInterface(in string interfacename) raises(NotFound);
146 // GetServiceList : operation to get a list of the services name of
147 // an interface of a component
149 Gets a list of names of services of a definite interface belonging to the component.
150 \note <BR>If the specified interface doesn't exist, Notfound exception is thrown.
151 \param interfacename Name of the interface
152 \return List of services of the required interface
154 ListOfServices GetServiceList(in string interfacename) raises(NotFound);
157 // GetService : operation to get one service of an interface of a component
160 Gets a definite service of an interface of the component.
161 \note <BR>If the required service or the specified interface don't exist, Notfound exception is thrown.
162 \param interfacename Name of the interface
163 \param servicename Name of the service
164 \return Required service
167 Service GetService(in string interfacename,
168 in string servicename) raises(NotFound);
170 // GetDefaultService : operation to get the default service
171 // of an interface of a component
173 Gets the default service of an interface of the component.
174 \note <BR>If the required service or the specified interface don't exist, Notfound exception is thrown.
175 \param interfacename Name of the interface
176 \return Required service
179 Service GetDefaultService(in string interfacename) raises(NotFound);
181 // GetPathPrefix : operation to get the PathPrefix of a computer
183 Gets the prefix path of the computer containing the %component.
184 \note <BR>If the required computer doesn't exist, Notfound exception is thrown
185 \param machinename Name of the machine
189 string GetPathPrefix(in string machinename) raises(NotFound);
192 Sets/gets the constraint affected to the component
193 (to be resolved by LifeCycle for the computer choice)
195 readonly attribute string constraint ;
198 Sets/gets the name of the component
200 readonly attribute string componentname;
203 Sets/gets the user name of the component
205 readonly attribute string componentusername;
208 Defines whether the component can be multistudy or not
210 readonly attribute boolean multistudy;
213 Defines the type of the component
215 readonly attribute ComponentType component_type ;
218 Sets/gets the icone of the component (for IAPP)
220 readonly attribute string component_icone;
222 /*! \brief %Module catalog interface
224 This interface is used for creation of the module catalog in %SALOME application.
226 interface ModuleCatalog
231 Gets a list of names of computers of the catalog
233 ListOfComputers GetComputerList();
236 Gets the %PathPrefix of a computer
238 string GetPathPrefix(in string machinename) raises(NotFound);
240 Gets a list of names of components of the catalog
242 ListOfComponents GetComponentList();
244 Gets a list of pair GUI elements (component name, component icone)
245 used for representation of the module in %IAPP component.
248 ListOfIAPP_Affich GetComponentIconeList();
250 Gets a list of names of components of a particular type, which belong to this catalog.
252 // GetComponentList : operation to get a list of the components name of
253 // a particular type of the catalog
254 ListOfComponents GetTypedComponentList(in ComponentType _component_type);
257 Gets one component of the catalog.
259 Acomponent GetComponent(in string componentname) raises(NotFound);