]> SALOME platform Git repositories - modules/yacs.git/blob - src/runtime/CORBAComponent.hxx
Salome HOME
copy tag mergefrom_BR_V0_1_CC_Salome_04oct07
[modules/yacs.git] / src / runtime / CORBAComponent.hxx
1 #ifndef _CORBACOMPONENT_HXX_
2 #define _CORBACOMPONENT_HXX_
3
4 #include "ComponentInstance.hxx"
5 #include <omniORB4/CORBA.h>
6
7 namespace YACS
8 {
9   namespace ENGINE
10   {
11     class ServiceNode;
12
13 /*! \brief Class for CORBA component instance
14  *
15  * \ingroup Nodes
16  *
17  */
18     class CORBAComponent : public ComponentInstance
19     {
20     public:
21       CORBAComponent(const std::string& name);
22       CORBAComponent(const CORBAComponent& other);
23       virtual ~CORBAComponent();
24       virtual void load();
25       virtual void unload();
26       virtual bool isLoaded();
27       virtual ServiceNode* createNode(const std::string& name);
28       virtual ComponentInstance* clone() const;
29       virtual std::string getFileRepr() const;
30       virtual CORBA::Object_ptr getCompoPtr();
31     public:
32       static const char KIND[];
33       virtual std::string getKind() const;
34     protected:
35       CORBA::Object_var _objComponent;
36     };
37   }
38 }
39
40 #endif