Salome HOME
merge from branch DEV tag mergeto_trunk_04apr08
[modules/yacs.git] / src / runtime / CORBANode.hxx
1 #ifndef _CORBANODE_HXX_
2 #define _CORBANODE_HXX_
3
4 #include "ServiceNode.hxx"
5 #include "yacsconfig.h"
6 #ifdef DSC_PORTS
7 #include "DSC_Engines.hh"
8 #endif
9 #include <omniORB4/CORBA.h>
10 #include <list>
11
12 namespace YACS
13 {
14   namespace ENGINE
15   {
16 /*! \brief Class for CORBA Service Node
17  *
18  * \ingroup Nodes
19  *
20  * \see InputCorbaPort
21  * \see OutputCorbaPort
22  */
23     class CORBANode : public ServiceNode 
24     {
25     protected:
26       Node *simpleClone(ComposedNode *father, bool editionOnly) const;
27     public:
28       CORBANode(const CORBANode& other,ComposedNode *father);
29       CORBANode(const std::string& name);
30       virtual void execute();
31       virtual ServiceNode* createNode(const std::string& name);
32       virtual std::string getKind() const;
33       static const char KIND[];
34       virtual std::string typeName() {return "YACS__ENGINE__CORBANode";}
35     public:
36       static const char IMPL_NAME[];
37     };
38
39 /*! \brief Class for Salome component Service Node
40  *
41  * \ingroup Nodes
42  *
43  * \see InputCorbaPort
44  * \see OutputCorbaPort
45  */
46     class SalomeNode : public ServiceNode 
47     {
48     protected:
49       Node *simpleClone(ComposedNode *father, bool editionOnly) const;
50     public:
51       SalomeNode(const SalomeNode& other,ComposedNode *father);
52       SalomeNode(const std::string& name);
53       virtual ~SalomeNode();
54       virtual void execute();
55       virtual ServiceNode* createNode(const std::string& name);
56       virtual std::string getKind() const;
57       static const char KIND[];
58       virtual std::string typeName() {return "YACS__ENGINE__SalomeNode";}
59 #ifdef DSC_PORTS
60       virtual void initService();
61       virtual void connectService();
62       virtual void disconnectService();
63       std::list<Engines::ConnectionManager::connectionId> ids;
64 #endif
65       virtual std::string getContainerLog();
66     };
67   }
68 }
69
70 #endif