Salome HOME
copy tag mergefrom_BR_V0_1_CC_Salome_04oct07
[modules/yacs.git] / src / runtime / NeutralPythonConv.hxx
1 #ifndef __NEUTRALPYTHONCONV_HXX__
2 #define __NEUTRALPYTHONCONV_HXX__
3
4 #include "PythonPorts.hxx"
5 #include "Any.hxx"
6
7 namespace YACS
8 {
9   namespace ENGINE
10   {
11
12     // --- adaptator ports Neutral->Python for several types
13
14     class NeutralPyDouble : public ProxyPort
15     {
16     public:
17       NeutralPyDouble(InputPyPort* p)
18         : ProxyPort(p), DataPort(p->getName(), p->getNode(), p->edGetType()), Port(p->getNode()) {}
19       virtual void put(const void *data) throw(ConversionException);
20       void put(YACS::ENGINE::Any *data) throw(ConversionException);
21     };
22
23     class NeutralPyInt : public ProxyPort
24     {
25     public:
26       NeutralPyInt(InputPyPort* p)
27         : ProxyPort(p), DataPort(p->getName(), p->getNode(), p->edGetType()), Port(p->getNode()) {}
28       virtual void put(const void *data) throw(ConversionException);
29       void put(YACS::ENGINE::Any *data) throw(ConversionException);
30     };
31
32     class NeutralPyString : public ProxyPort
33     {
34     public:
35       NeutralPyString(InputPyPort* p)
36         : ProxyPort(p), DataPort(p->getName(), p->getNode(), p->edGetType()), Port(p->getNode()) {}
37       virtual void put(const void *data) throw(ConversionException);
38       void put(YACS::ENGINE::Any *data) throw(ConversionException);
39     };
40
41     class NeutralPyBool : public ProxyPort
42     {
43     public:
44       NeutralPyBool(InputPyPort* p)
45         : ProxyPort(p), DataPort(p->getName(), p->getNode(), p->edGetType()), Port(p->getNode()) {}
46       virtual void put(const void *data) throw(ConversionException);
47       void put(YACS::ENGINE::Any *data) throw(ConversionException);
48     };
49
50     class NeutralPyObjref : public ProxyPort
51     {
52     public:
53       NeutralPyObjref(InputPyPort* p)
54         : ProxyPort(p), DataPort(p->getName(), p->getNode(), p->edGetType()), Port(p->getNode()) {}
55       virtual void put(const void *data) throw(ConversionException);
56       void put(YACS::ENGINE::Any *data) throw(ConversionException);
57     };
58
59     class NeutralPySequence : public ProxyPort
60     {
61     public:
62       NeutralPySequence(InputPyPort* p)
63         : ProxyPort(p), DataPort(p->getName(), p->getNode(), p->edGetType()), Port(p->getNode()) {}
64       virtual void put(const void *data) throw(ConversionException);
65       void put(YACS::ENGINE::Any *data) throw(ConversionException);
66     };
67   }
68 }
69 #endif