Salome HOME
a26496594023f82619c50052daaaf6436ee8b1b9
[modules/yacs.git] / src / runtime / TypeConversions.hxx
1
2 #ifndef _TYPECONVERSIONS_HXX_
3 #define _TYPECONVERSIONS_HXX_
4
5 #include <Python.h>
6 #include <omniORB4/CORBA.h>
7 #include <libxml/parser.h>
8
9 #include "TypeCode.hxx"
10
11 namespace YACS
12 {
13   namespace ENGINE
14   {
15
16     typedef CORBA::TypeCode_ptr (*getCorbaTCFn)(TypeCode *);
17     CORBA::TypeCode_ptr getCorbaTC(TypeCode *t);
18
19     typedef CORBA::Any* (*convertCorbaPyObjectFn)(TypeCode *,PyObject* );
20     CORBA::Any *convertCorbaPyObject(TypeCode *t,PyObject *ob);
21
22     typedef int (*isAdaptableCorbaPyObjectFn)(TypeCode *,TypeCode* );
23     int isAdaptableCorbaPyObject(TypeCode* t1,TypeCode* t2);
24
25     typedef int (*isAdaptableXmlCorbaFn)(TypeCode *,TypeCode* );
26     int isAdaptableXmlCorba(TypeCode *t1,TypeCode *t2);
27
28     typedef int (*isAdaptableCorbaCorbaFn)(TypeCode *,TypeCode* );
29     int isAdaptableCorbaCorba(TypeCode* t1,TypeCode* t2);
30
31     typedef int (*isAdaptablePyObjectPyObjectFn)(TypeCode *,TypeCode* );
32     int isAdaptablePyObjectPyObject(TypeCode* t1,TypeCode* t2);
33
34     typedef int (*isAdaptablePyObjectCorbaFn)(TypeCode *,TypeCode* );
35     int isAdaptablePyObjectCorba(TypeCode* t1,TypeCode* t2);
36
37     typedef PyObject* (*convertPyObjectCorbaFn)(TypeCode *,CORBA::Any* );
38     PyObject *convertPyObjectCorba(TypeCode* t,CORBA::Any* ob);
39
40     typedef char* (*convertXmlCorbaFn)(TypeCode *,CORBA::Any* );
41     char *convertXmlCorba(TypeCode* t,CORBA::Any* ob);
42
43     typedef CORBA::Any* (*convertCorbaCorbaFn)(TypeCode *,CORBA::Any* );
44     CORBA::Any *convertCorbaCorba(TypeCode* t,CORBA::Any* ob);
45
46     typedef CORBA::Any* (*convertCorbaXmlFn)(TypeCode *,xmlDocPtr doc,xmlNodePtr cur);
47     CORBA::Any *convertCorbaXml(TypeCode* t,xmlDocPtr doc,xmlNodePtr cur );
48
49   }
50
51 }
52
53 #endif