Salome HOME
8af22eec1fb3f640e2ff33e0805f204f165081b2
[modules/yacs.git] / src / runtime / PresetPorts.hxx
1 //  Copyright (C) 2006-2008  CEA/DEN, EDF R&D
2 //
3 //  This library is free software; you can redistribute it and/or
4 //  modify it under the terms of the GNU Lesser General Public
5 //  License as published by the Free Software Foundation; either
6 //  version 2.1 of the License.
7 //
8 //  This library is distributed in the hope that it will be useful,
9 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
10 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 //  Lesser General Public License for more details.
12 //
13 //  You should have received a copy of the GNU Lesser General Public
14 //  License along with this library; if not, write to the Free Software
15 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 #ifndef _PRESETPORTS_HXX_
20 #define _PRESETPORTS_HXX_
21
22 #include <Python.h>
23 #include "XMLPorts.hxx"
24
25 namespace YACS
26 {
27   namespace ENGINE
28   {
29
30 /*! \brief Class for PRESET output Ports 
31  *
32  * \ingroup Ports
33  *
34  * \see PresetNode
35  */
36     class OutputPresetPort: public OutputXmlPort
37     {
38     public:
39       OutputPresetPort(const std::string& name,  Node* node, TypeCode* type);
40       OutputPresetPort(const OutputPresetPort& other, Node *newHelder);
41       void setData(std::string data);
42       std::string getData();
43       virtual void checkBasicConsistency() const throw(Exception);
44       virtual std::string dump();
45       virtual std::string getAsString();
46       virtual PyObject* getPyObj();
47       virtual std::string typeName() {return "YACS__ENGINE__OutputPresetPort";}
48     protected:
49       std::string _storeData;
50     };
51
52 /*! \brief Class for PRESET input Ports
53  *
54  * \ingroup Ports
55  *
56  * \see OutNode
57  */
58     class InputPresetPort: public InputXmlPort
59     {
60     public:
61       InputPresetPort(const std::string& name,  Node* node, TypeCode* type);
62       InputPresetPort(const InputPresetPort& other, Node *newHelder);
63       void setData(std::string data);
64       std::string getData();
65       virtual std::string dump();
66       virtual std::string getAsString();
67       virtual PyObject* getPyObj();
68       virtual std::string typeName() {return "YACS__ENGINE__InputPresetPort";}
69     protected:
70       std::string _storeData;
71     };
72
73   }
74 }
75
76
77 #endif