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 moduleusername; /*!<UserName of the module.*/
91 string moduleicone; /*!<Icone representing the module.*/
94 List of pair GUI elements (component name, component icone)
95 used for representation of the module in %IAPP component.
97 typedef sequence<IAPP_Affich> ListOfIAPP_Affich ;
100 This exception is raised when a %component, a %service or a % pathPrefix is not found.
104 string what ; /*!<Indicates if it's a %component, a %service or a % pathPrefix.*/
109 // GetInterfaceList : operation to get a list of the interfaces name of
112 Gets a list of names of interfaces of the component
113 \return a list of interfaces of the component
115 ListOfInterfaces GetInterfaceList() ;
117 // GetInterface : operation to get one interface of a component
120 Gets a definite interface of the component
121 \note <BR>If the specified interface doesn't exist, Notfound exception is thrown
122 \param interfacename Name of the interface
123 \return Required interface
125 DefinitionInterface GetInterface(in string interfacename) raises(NotFound);
127 // GetServiceList : operation to get a list of the services name of
128 // an interface of a component
130 Gets a list of names of services of a definite interface belonging to the component.
131 \note <BR>If the specified interface doesn't exist, Notfound exception is thrown.
132 \param interfacename Name of the interface
133 \return List of services of the required interface
135 ListOfServices GetServiceList(in string interfacename) raises(NotFound);
138 // GetService : operation to get one service of an interface of a component
141 Gets a definite service of an interface of the component.
142 \note <BR>If the required service or the specified interface don't exist, Notfound exception is thrown.
143 \param interfacename Name of the interface
144 \param servicename Name of the service
145 \return Required service
148 Service GetService(in string interfacename,
149 in string servicename) raises(NotFound);
151 // GetDefaultService : operation to get the default service
152 // of an interface of a component
154 Gets the default service of an interface of the component.
155 \note <BR>If the required service or the specified interface don't exist, Notfound exception is thrown.
156 \param interfacename Name of the interface
157 \return Required service
160 Service GetDefaultService(in string interfacename) raises(NotFound);
162 // GetPathPrefix : operation to get the PathPrefix of a computer
164 Gets the prefix path of the computer containing the %component.
165 \note <BR>If the required computer doesn't exist, Notfound exception is thrown
166 \param machinename Name of the machine
170 string GetPathPrefix(in string machinename) raises(NotFound);
173 Sets/gets the constraint affected to the component
174 (to be resolved by LifeCycle for the computer choice)
176 readonly attribute string constraint ;
179 Sets/gets the name of the component
181 readonly attribute string componentname;
184 Sets/gets the user name of the component
186 readonly attribute string componentusername;
189 Defines whether the component can be multistudy or not
191 readonly attribute boolean multistudy;
194 Defines the type of the component
196 readonly attribute ComponentType component_type ;
199 Sets/gets the icone of the component (for IAPP)
201 readonly attribute string component_icone;
203 /*! \brief %Module catalog interface
205 This interface is used for creation of the module catalog in %SALOME application.
207 interface ModuleCatalog
212 Gets a list of names of computers of the catalog
214 ListOfComputers GetComputerList();
217 Gets the %PathPrefix of a computer
219 string GetPathPrefix(in string machinename) raises(NotFound);
221 Gets a list of names of components of the catalog
223 ListOfComponents GetComponentList();
225 Gets a list of pair GUI elements (component name, component icone)
226 used for representation of the module in %IAPP component.
229 ListOfIAPP_Affich GetComponentIconeList();
231 Gets a list of names of components of a particular type, which belong to this catalog.
233 // GetComponentList : operation to get a list of the components name of
234 // a particular type of the catalog
235 ListOfComponents GetTypedComponentList(in ComponentType _component_type);
238 Gets one component of the catalog.
240 Acomponent GetComponent(in string componentname) raises(NotFound);