PyCafe2_api_March7.h

Go to the documentation of this file.
00001 #ifndef __PYX_HAVE_API__PyCafe
00002 #define __PYX_HAVE_API__PyCafe
00003 #include "Python.h"
00004 
00005 static void (*__pyx_f_6PyCafe_py_cb_wrapper)(PVDataHolder, unsigned int, std::string) = 0;
00006 #define py_cb_wrapper __pyx_f_6PyCafe_py_cb_wrapper
00007 static void (*__pyx_f_6PyCafe_py_cb_ctrl_wrapper)(PVCtrlHolder, unsigned int, std::string) = 0;
00008 #define py_cb_ctrl_wrapper __pyx_f_6PyCafe_py_cb_ctrl_wrapper
00009 static void (*__pyx_f_6PyCafe_py_cb_handle_wrapper)(unsigned int) = 0;
00010 #define py_cb_handle_wrapper __pyx_f_6PyCafe_py_cb_handle_wrapper
00011 static void (*__pyx_f_6PyCafe_py_cb_handle_monid_wrapper)(unsigned int, unsigned long) = 0;
00012 #define py_cb_handle_monid_wrapper __pyx_f_6PyCafe_py_cb_handle_monid_wrapper
00013 #if !defined(__Pyx_PyIdentifier_FromString)
00014 #if PY_MAJOR_VERSION < 3
00015   #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s)
00016 #else
00017   #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s)
00018 #endif
00019 #endif
00020 
00021 #ifndef __PYX_HAVE_RT_ImportModule
00022 #define __PYX_HAVE_RT_ImportModule
00023 static PyObject *__Pyx_ImportModule(const char *name) {
00024     PyObject *py_name = 0;
00025     PyObject *py_module = 0;
00026     py_name = __Pyx_PyIdentifier_FromString(name);
00027     if (!py_name)
00028         goto bad;
00029     py_module = PyImport_Import(py_name);
00030     Py_DECREF(py_name);
00031     return py_module;
00032 bad:
00033     Py_XDECREF(py_name);
00034     return 0;
00035 }
00036 #endif
00037 
00038 #ifndef __PYX_HAVE_RT_ImportFunction
00039 #define __PYX_HAVE_RT_ImportFunction
00040 static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
00041     PyObject *d = 0;
00042     PyObject *cobj = 0;
00043     union {
00044         void (*fp)(void);
00045         void *p;
00046     } tmp;
00047     d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
00048     if (!d)
00049         goto bad;
00050     cobj = PyDict_GetItemString(d, funcname);
00051     if (!cobj) {
00052         PyErr_Format(PyExc_ImportError,
00053             "%.200s does not export expected C function %.200s",
00054                 PyModule_GetName(module), funcname);
00055         goto bad;
00056     }
00057 #if PY_VERSION_HEX >= 0x02070000
00058     if (!PyCapsule_IsValid(cobj, sig)) {
00059         PyErr_Format(PyExc_TypeError,
00060             "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
00061              PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
00062         goto bad;
00063     }
00064     tmp.p = PyCapsule_GetPointer(cobj, sig);
00065 #else
00066     {const char *desc, *s1, *s2;
00067     desc = (const char *)PyCObject_GetDesc(cobj);
00068     if (!desc)
00069         goto bad;
00070     s1 = desc; s2 = sig;
00071     while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
00072     if (*s1 != *s2) {
00073         PyErr_Format(PyExc_TypeError,
00074             "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
00075              PyModule_GetName(module), funcname, sig, desc);
00076         goto bad;
00077     }
00078     tmp.p = PyCObject_AsVoidPtr(cobj);}
00079 #endif
00080     *f = tmp.fp;
00081     if (!(*f))
00082         goto bad;
00083     Py_DECREF(d);
00084     return 0;
00085 bad:
00086     Py_XDECREF(d);
00087     return -1;
00088 }
00089 #endif
00090 
00091 
00092 static int import_PyCafe(void) {
00093   PyObject *module = 0;
00094   module = __Pyx_ImportModule("PyCafe");
00095   if (!module) goto bad;
00096   if (__Pyx_ImportFunction(module, "py_cb_wrapper", (void (**)(void))&__pyx_f_6PyCafe_py_cb_wrapper, "void (PVDataHolder, unsigned int, std::string)") < 0) goto bad;
00097   if (__Pyx_ImportFunction(module, "py_cb_ctrl_wrapper", (void (**)(void))&__pyx_f_6PyCafe_py_cb_ctrl_wrapper, "void (PVCtrlHolder, unsigned int, std::string)") < 0) goto bad;
00098   if (__Pyx_ImportFunction(module, "py_cb_handle_wrapper", (void (**)(void))&__pyx_f_6PyCafe_py_cb_handle_wrapper, "void (unsigned int)") < 0) goto bad;
00099   if (__Pyx_ImportFunction(module, "py_cb_handle_monid_wrapper", (void (**)(void))&__pyx_f_6PyCafe_py_cb_handle_monid_wrapper, "void (unsigned int, unsigned long)") < 0) goto bad;
00100   Py_DECREF(module); module = 0;
00101   return 0;
00102   bad:
00103   Py_XDECREF(module);
00104   return -1;
00105 }
00106 
00107 #endif /* !__PYX_HAVE_API__PyCafe */

Generated on 3 May 2017 for CAFE by  doxygen 1.6.1