Salome HOME
merge from branch DEV tag mergeto_trunk_04apr08
[modules/yacs.git] / src / runtime / StudyPorts.hxx
1 #ifndef _STUDYPORTS_HXX_
2 #define _STUDYPORTS_HXX_
3
4 #include "XMLPorts.hxx"
5
6 namespace YACS
7 {
8   namespace ENGINE
9   {
10
11 /*! \brief Class for Study output Ports 
12  *
13  * \ingroup Ports
14  *
15  * \see StudyInNode
16  */
17     class OutputStudyPort: public OutputXmlPort
18     {
19     public:
20       OutputStudyPort(const std::string& name,  Node* node, TypeCode* type);
21       OutputStudyPort(const OutputStudyPort& other, Node *newHelder);
22       void setData(const std::string& data);
23       std::string getData();
24       virtual void putIOR(const std::string& ior);
25       virtual std::string dump();
26     protected:
27       std::string _storeData;
28     };
29
30 /*! \brief Class for Study input Ports
31  *
32  * \ingroup Ports
33  *
34  * \see StudyOutNode
35  */
36     class InputStudyPort: public InputXmlPort
37     {
38     public:
39       InputStudyPort(const std::string& name,  Node* node, TypeCode* type);
40       InputStudyPort(const InputStudyPort& other, Node *newHelder);
41       void setData(const std::string& data);
42       std::string getData();
43       virtual std::string getIOR();
44       virtual std::string splitXML(const std::string& s);
45       virtual std::string dump();
46     protected:
47       std::string _storeData;
48     };
49
50   }
51 }
52
53
54 #endif