Salome HOME
copy tag mergefrom_BR_V0_1_CC_Salome_04oct07
[modules/yacs.git] / src / runtime / PythonCppConv.hxx
1 #ifndef __PYTHONCPPCONV_HXX__
2 #define __PYTHONCPPCONV_HXX__
3
4 #include <Python.h>
5 #include "CppPorts.hxx"
6
7 namespace YACS
8 {
9   namespace ENGINE
10   {
11     //Proxy port to adapt C++ port to Python port
12
13     class PyCpp : public ProxyPort
14     {
15     public:
16       PyCpp(InputCppPort* p)
17          : ProxyPort(p), DataPort(p->getName(), p->getNode(), p->edGetType()), Port(p->getNode()) {}
18       virtual void put(const void *data)  throw(ConversionException);
19       void put(PyObject *data) throw(ConversionException);
20     };
21     int isAdaptableCppPyObject(const TypeCode *t1, const TypeCode *t2);
22   }
23 }
24
25 #endif