1 // File: SALOME_ModuleCatalog_Acomponent_impl.hxx
2 // Created: Tue June 28 2001
3 // Author: Estelle Deville
5 // Copyright : CEA/DEN/DMSS/LGLS
9 #ifndef ACOMPONENT_IMPL_H
10 #define ACOMPONENT_IMPL_H
12 #include "utilities.h"
13 #include "PathPrefix.hxx"
14 #include <SALOMEconfig.h>
15 #include CORBA_SERVER_HEADER(SALOME_ModuleCatalog)
17 class SALOME_ModuleCatalog_AcomponentImpl: public POA_SALOME_ModuleCatalog::Acomponent,
18 public PortableServer::RefCountServantBase
21 //! standard constructor
22 SALOME_ModuleCatalog_AcomponentImpl(const char* name,
23 const char* constraint,
24 SALOME_ModuleCatalog::ComponentType componenttype,
25 CORBA::Boolean componentmultistudy,
27 SALOME_ModuleCatalog::ListOfDefInterface list_interfaces,
28 ListOfPathPrefix pathes);
30 //! standard destructor
31 virtual ~SALOME_ModuleCatalog_AcomponentImpl();
33 //! method to get a list of the interfaces name of a component
35 \return a list of the interfaces of a component
37 virtual SALOME_ModuleCatalog::ListOfInterfaces* GetInterfaceList() ;
39 //! method to get one interface of a component
40 /*! If the specified interface doesn't exist, the Notfound exception is thrown
41 \param interface name const car* arguments
42 \return the wanted interface
44 virtual SALOME_ModuleCatalog::DefinitionInterface*
45 GetInterface(const char* interfacename)
46 throw(SALOME_ModuleCatalog::NotFound);
48 //! method to get a list of the services name of an interface of a component
49 /*!If the specified interface doesn't exist, the Notfound exception is thrown
50 \param interfacename const char* arguments
51 \return a list of the services of the wanted interface
53 virtual SALOME_ModuleCatalog::ListOfServices*
54 GetServiceList(const char* interfacename)
55 throw(SALOME_ModuleCatalog::NotFound);
58 //! method to get one service of an interface of a component
59 /*! If the wanted service or the specified interface don't exist,
60 * the Notfound exception is thrown
61 \param interfacename const char* arguments
62 \param servicename const char* arguments
63 \return the wanted service
65 virtual SALOME_ModuleCatalog::Service*
66 GetService(const char* interfacename,
67 const char* servicename)
68 throw(SALOME_ModuleCatalog::NotFound);
70 //! method to get the default service of an interface of a component
71 /*! If the specified interface doesn't exist, the Notfound exception is thrown
72 \param interfacename const char* arguments
73 \return the default service of the interface
75 virtual SALOME_ModuleCatalog::Service*
76 GetDefaultService(const char* interfacename)
77 throw(SALOME_ModuleCatalog::NotFound);
79 //! method to get the PathPrefix of a computer
80 /*! If the wanted computer doesn't exist, the Notfound exception is thrown
81 \param machinename const char* arguments
82 \return the prefix path
84 virtual char* GetPathPrefix(const char* machinename)
85 throw(SALOME_ModuleCatalog::NotFound);
87 //! method to obtain the constraint affected to a component
88 /*! to be resolved by LifeCycle for the computer choice
89 \return the constraint
91 virtual char* constraint() ;
93 //! method to obtain the componentname
95 \return the component name
97 virtual char* componentname();
99 //! method to define if a component can be multistudy or not
101 \return true if the component supports multistudy
103 virtual CORBA::Boolean multistudy();
105 //! method to define the type of the component
107 \return the component type
109 virtual SALOME_ModuleCatalog::ComponentType component_type() ;
111 //! method to obtain the component icone (for IAPP)
113 \return the component icone
115 virtual char* component_icone();
118 char* _component_name ;
121 SALOME_ModuleCatalog::ComponentType _componenttype;
122 CORBA::Boolean _componentmultistudy;
123 SALOME_ModuleCatalog::ListOfDefInterface _list_interfaces;
124 ListOfPathPrefix _pathes ;
127 //! method to duplicate a service
129 \param service SALOME_ModuleCatalog::Service arguments
132 virtual SALOME_ModuleCatalog::Service_var _duplicate_service(SALOME_ModuleCatalog::Service service);
135 #endif // ACOMPONENT_IMPL_H