]> SALOME platform Git repositories - modules/kernel.git/blob - src/ModuleCatalog/SALOME_ModuleCatalog_Acomponent_impl.hxx
Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/kernel.git] / src / ModuleCatalog / SALOME_ModuleCatalog_Acomponent_impl.hxx
1 // File: SALOME_ModuleCatalog_Acomponent_impl.hxx
2 // Created: Tue June 28 2001
3 // Author: Estelle Deville
4 // Project: SALOME
5 // Copyright : CEA/DEN/DMSS/LGLS
6 // $Header$
7
8
9 #ifndef ACOMPONENT_IMPL_H
10 #define ACOMPONENT_IMPL_H
11
12 #include "utilities.h"
13 #include "PathPrefix.hxx"
14 #include <SALOMEconfig.h>
15 #include CORBA_SERVER_HEADER(SALOME_ModuleCatalog)
16
17 class SALOME_ModuleCatalog_AcomponentImpl: public POA_SALOME_ModuleCatalog::Acomponent,
18                       public PortableServer::RefCountServantBase 
19 {
20 public:
21   //! standard constructor
22   SALOME_ModuleCatalog_AcomponentImpl(const char* name, 
23                                       const char* constraint, 
24                                       SALOME_ModuleCatalog::ComponentType componenttype, 
25                                       CORBA::Boolean componentmultistudy,
26                                       const char* icone,
27                                       SALOME_ModuleCatalog::ListOfDefInterface list_interfaces,
28                                       ListOfPathPrefix pathes);
29
30   //! standard destructor
31   virtual ~SALOME_ModuleCatalog_AcomponentImpl();
32
33   //! method to get a list of the interfaces name of a component
34   /*!
35     \return a list of the interfaces of a component 
36   */
37   virtual SALOME_ModuleCatalog::ListOfInterfaces* GetInterfaceList() ;
38
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
43   */
44   virtual SALOME_ModuleCatalog::DefinitionInterface* 
45              GetInterface(const char* interfacename)
46              throw(SALOME_ModuleCatalog::NotFound);
47
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
52  */
53   virtual SALOME_ModuleCatalog::ListOfServices* 
54              GetServiceList(const char* interfacename)
55              throw(SALOME_ModuleCatalog::NotFound);
56
57     
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
64  */
65   virtual SALOME_ModuleCatalog::Service* 
66              GetService(const char* interfacename, 
67                         const char* servicename) 
68              throw(SALOME_ModuleCatalog::NotFound);
69
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
74   */
75   virtual SALOME_ModuleCatalog::Service* 
76              GetDefaultService(const char* interfacename) 
77              throw(SALOME_ModuleCatalog::NotFound);
78
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
83  */
84   virtual char* GetPathPrefix(const char* machinename) 
85                 throw(SALOME_ModuleCatalog::NotFound);
86
87   //! method to obtain the constraint affected to a component
88   /*! to be resolved by LifeCycle for the computer choice
89     \return the constraint
90   */
91   virtual char* constraint() ;
92
93   //! method to obtain the componentname
94   /*!
95     \return the component name
96   */
97   virtual char* componentname();
98
99   //! method to define if a component can be multistudy or not
100   /*!
101     \return true if the component supports multistudy
102   */
103   virtual CORBA::Boolean multistudy();
104
105   //! method to define the type of the component
106   /*!
107     \return the component type
108   */
109   virtual SALOME_ModuleCatalog::ComponentType component_type() ;
110
111   //! method to obtain the component icone (for IAPP)
112   /*!
113     \return the component icone
114   */
115   virtual char* component_icone();
116
117 private :
118   char* _component_name ;
119   char* _constraint;
120   char* _icone;
121   SALOME_ModuleCatalog::ComponentType _componenttype;
122   CORBA::Boolean _componentmultistudy;
123   SALOME_ModuleCatalog::ListOfDefInterface _list_interfaces;
124   ListOfPathPrefix _pathes ;
125   
126
127  //! method to duplicate a service
128   /*!
129     \param service SALOME_ModuleCatalog::Service arguments
130     \return the service
131   */
132   virtual SALOME_ModuleCatalog::Service_var _duplicate_service(SALOME_ModuleCatalog::Service service);
133 };
134
135 #endif // ACOMPONENT_IMPL_H