1 // File: SALOME_ModuleCatalog.idl
2 // Created: Tue June 25 2001
3 // Author: Estelle Deville
5 // Copyright : CEA/DEN/DMSS/LGLS
8 /*! \file SALOME_ModuleCatalog.idl This file conatins a set of interfaces used for
9 creation of the catalog of components in %SALOME application
13 The main package of interfaces used for creation of the module catalog in %SALOME application.
15 module SALOME_ModuleCatalog
19 This enumeration contains a set of definitions of %SALOME modules.
21 enum ComponentType { GEOM, /*!<Module %GEOM */
22 MESH, /*!<Module %MESH */
23 Med, /*!<Module %Med*/
24 SOLVER, /*!<Module of %SOLVER type */
25 DATA, /*!<Module %DATA */
26 VISU, /*!<Module %VISU */
27 SUPERV, /*!<Module %SUPERVISION */
28 OTHER /*!<Any other type of module */
31 This struct contains fields defining the parameters of the services.
34 struct ServicesParameter
36 string Parametertype; /*!<Type of the parameter.*/
37 string Parametername; /*!<Name of the parameter.*/
40 typedef sequence<ServicesParameter> ListOfServicesParameter;
42 This struct contains fields completely defining each service.
47 string ServiceName; /*!<Name of the service.*/
48 ListOfServicesParameter ServiceinParameter; /*!< List of input parameters of the services.*/
49 ListOfServicesParameter ServiceoutParameter; /*!< List of input parameters of the services.*/
50 boolean Servicebydefault; /*!<True if the service is taken with its defult fields.*/
53 List of services of the interface.
55 typedef sequence<Service> ListOfInterfaceService;
59 typedef sequence<string> ListOfServices ;
61 This struct contains fields defining each interface.
63 struct DefinitionInterface
65 string interfacename ; /*!<Name of the interface.*/
66 ListOfInterfaceService interfaceservicelist ; /*!<List of services of the interface.*/
69 List of interface definitions.
71 typedef sequence<DefinitionInterface> ListOfDefInterface ;
75 typedef sequence<string> ListOfInterfaces ;
77 List of names of components.
79 typedef sequence<string> ListOfComponents ;
81 List of names of computers.
83 typedef sequence<string> ListOfComputers ;
85 This struct contains GUI elements used for representation of the module in %IAPP component.
89 string modulename; /*!<Name of the module.*/
90 string moduleicone; /*!<Icone representing the module.*/
93 List of pair GUI elements (component name, component icone)
94 used for representation of the module in %IAPP component.
96 typedef sequence<IAPP_Affich> ListOfIAPP_Affich ;
99 This exception is raised when a %component, a %service or a % pathPrefix is not found.
103 string what ; /*!<Indicates if it's a %component, a %service or a % pathPrefix.*/
108 // GetInterfaceList : operation to get a list of the interfaces name of
111 Gets a list of names of interfaces of the component
112 \return a list of interfaces of the component
114 ListOfInterfaces GetInterfaceList() ;
116 // GetInterface : operation to get one interface of a component
119 Gets a definite interface of the component
120 \note <BR>If the specified interface doesn't exist, Notfound exception is thrown
121 \param interfacename Name of the interface
122 \return Required interface
124 DefinitionInterface GetInterface(in string interfacename) raises(NotFound);
126 // GetServiceList : operation to get a list of the services name of
127 // an interface of a component
129 Gets a list of names of services of a definite interface belonging to the component.
130 \note <BR>If the specified interface doesn't exist, Notfound exception is thrown.
131 \param interfacename Name of the interface
132 \return List of services of the required interface
134 ListOfServices GetServiceList(in string interfacename) raises(NotFound);
137 // GetService : operation to get one service of an interface of a component
140 Gets a definite service of an interface of the component.
141 \note <BR>If the required service or the specified interface don't exist, Notfound exception is thrown.
142 \param interfacename Name of the interface
143 \param servicename Name of the service
144 \return Required service
147 Service GetService(in string interfacename,
148 in string servicename) raises(NotFound);
150 // GetDefaultService : operation to get the default service
151 // of an interface of a component
153 Gets the default service of an interface of the component.
154 \note <BR>If the required service or the specified interface don't exist, Notfound exception is thrown.
155 \param interfacename Name of the interface
156 \return Required service
159 Service GetDefaultService(in string interfacename) raises(NotFound);
161 // GetPathPrefix : operation to get the PathPrefix of a computer
163 Gets the prefix path of the computer containing the %component.
164 \note <BR>If the required computer doesn't exist, Notfound exception is thrown
165 \param machinename Name of the machine
169 string GetPathPrefix(in string machinename) raises(NotFound);
172 Sets/gets the constraint affected to the component
173 (to be resolved by LifeCycle for the computer choice)
175 readonly attribute string constraint ;
178 Sets/gets the name of the component
180 readonly attribute string componentname;
183 Defines whether the component can be multistudy or not
185 readonly attribute boolean multistudy;
188 Defines the type of the component
190 readonly attribute ComponentType component_type ;
193 Sets/gets the icone of the component (for IAPP)
195 readonly attribute string component_icone;
197 /*! \brief %Module catalog interface
199 This interface is used for creation of the module catalog in %SALOME application.
201 interface ModuleCatalog
206 Gets a list of names of computers of the catalog
208 ListOfComputers GetComputerList();
211 Gets the %PathPrefix of a computer
213 string GetPathPrefix(in string machinename) raises(NotFound);
215 Gets a list of names of components of the catalog
217 ListOfComponents GetComponentList();
219 Gets a list of pair GUI elements (component name, component icone)
220 used for representation of the module in %IAPP component.
223 ListOfIAPP_Affich GetComponentIconeList();
225 Gets a list of names of components of a particular type, which belong to this catalog.
227 // GetComponentList : operation to get a list of the components name of
228 // a particular type of the catalog
229 ListOfComponents GetTypedComponentList(in ComponentType _component_type);
232 Gets one component of the catalog.
234 Acomponent GetComponent(in string componentname) raises(NotFound);