Salome HOME
PR: merge from BR_DATACONV_PR tag "mergeto_trunk_25oct06"
[modules/yacs.git] / src / runtime / CORBAPythonConv.hxx
1 #ifndef __CORBAPYTHONCONV_HXX__
2 #define __CORBAPYTHONCONV_HXX__
3
4 #include <omniORB4/CORBA.h>
5
6 #include "PythonPorts.hxx"
7
8 namespace YACS
9 {
10   namespace ENGINE
11   {
12
13     // --- convertisseurs Corba->Python pour les diffĂ©rents types
14
15     class CorbaPyDouble : public ProxyPort
16     {
17     public:
18       CorbaPyDouble(InputPyPort* p)
19         : ProxyPort(p), Port(p->getNode()) {}
20       virtual void put(const void *data) throw(ConversionException);
21       void put(CORBA::Any *data) throw(ConversionException);
22     };
23
24     class CorbaPyInt : public ProxyPort
25     {
26     public:
27       CorbaPyInt(InputPyPort* p)
28         : ProxyPort(p), Port(p->getNode()) {}
29       virtual void put(const void *data) throw(ConversionException);
30       void put(CORBA::Any *data) throw(ConversionException);
31     };
32
33     class CorbaPyString : public ProxyPort
34     {
35     public:
36       CorbaPyString(InputPyPort* p)
37         : ProxyPort(p), Port(p->getNode()) {}
38       virtual void put(const void *data) throw(ConversionException);
39       void put(CORBA::Any *data) throw(ConversionException);
40     };
41
42     class CorbaPyObjref : public ProxyPort
43     {
44     public:
45       CorbaPyObjref(InputPyPort* p)
46         : ProxyPort(p), Port(p->getNode()) {}
47       virtual void put(const void *data) throw(ConversionException);
48       void put(CORBA::Any *data) throw(ConversionException);
49     };
50
51     class CorbaPySequence : public ProxyPort
52     {
53     public:
54       CorbaPySequence(InputPyPort* p);
55       virtual void put(const void *data) throw(ConversionException);
56       void put(CORBA::Any *data) throw(ConversionException);
57     protected:
58       DynamicAny::DynAnyFactory_ptr _dynfactory;
59     };
60
61   }
62 }
63 #endif