summaryrefslogtreecommitdiffstats
path: root/libvirt_wrap.h
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2009-09-16 14:03:53 +0100
committerDaniel P. Berrange <berrange@redhat.com>2009-09-21 14:41:46 +0100
commita9ea906035bcf5cbe95db64f51ed2ff7cec2b503 (patch)
tree0f55b2a22a6e4b44ec5c41b267839f82757090af /libvirt_wrap.h
parenta5bab7085e42d87561c817f91c26def384611f2e (diff)
downloadlibvirt-python-split-a9ea906035bcf5cbe95db64f51ed2ff7cec2b503.tar.gz
libvirt-python-split-a9ea906035bcf5cbe95db64f51ed2ff7cec2b503.tar.xz
libvirt-python-split-a9ea906035bcf5cbe95db64f51ed2ff7cec2b503.zip
Re-arrange python generator to make it clear what's auto-generated
* README: New file describing what each file is used for * livvirt-override.c, libvirt-override.py, libvirt-override-api.xml, libvirt-override-virConnect.py: Manually written code overriding the generator * typewrappers.c, typewrappers.h: Data type wrappers * generator.py: Automatically pre-prend contents of libvirt-override.py to generated libvirt.py. Output into libvirt.py directly instead of libvirtclass.py. Don't generate libvirtclass.txt at all. Write C files into libvirt.c/.h directly * Makefile.am: Remove rule for creating libvirt.py from libvirt-override.py and libvirtclass.py, since generator.py does it directly
Diffstat (limited to 'libvirt_wrap.h')
-rw-r--r--libvirt_wrap.h196
1 files changed, 0 insertions, 196 deletions
diff --git a/libvirt_wrap.h b/libvirt_wrap.h
deleted file mode 100644
index 99d5805..0000000
--- a/libvirt_wrap.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * libvirt_wrap.h: type wrappers for libvir python bindings
- *
- * Copyright (C) 2005 Red Hat, Inc.
- *
- * Daniel Veillard <veillard@redhat.com>
- */
-
-#include <Python.h>
-#include "libvirt/libvirt.h"
-#include "libvirt/virterror.h"
-
-#ifdef __GNUC__
-#ifdef ATTRIBUTE_UNUSED
-#undef ATTRIBUTE_UNUSED
-#endif
-#ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-#endif /* ATTRIBUTE_UNUSED */
-#else
-#define ATTRIBUTE_UNUSED
-#endif
-
-#define PyvirConnect_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirConnect_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virConnectPtr obj;
-} PyvirConnect_Object;
-
-
-#define PyvirDomain_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirDomain_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virDomainPtr obj;
-} PyvirDomain_Object;
-
-
-#define PyvirNetwork_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirNetwork_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virNetworkPtr obj;
-} PyvirNetwork_Object;
-
-
-#define PyvirInterface_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirInterface_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virInterfacePtr obj;
-} PyvirInterface_Object;
-
-
-#define PyvirStoragePool_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirStoragePool_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virStoragePoolPtr obj;
-} PyvirStoragePool_Object;
-
-
-#define PyvirStorageVol_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirStorageVol_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virStorageVolPtr obj;
-} PyvirStorageVol_Object;
-
-
-#define PyvirNodeDevice_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirNodeDevice_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virNodeDevicePtr obj;
-} PyvirNodeDevice_Object;
-
-#define PyvirSecret_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirSecret_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virSecretPtr obj;
-} PyvirSecret_Object;
-
-
-#define PyvirEventHandleCallback_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirEventHandleCallback_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virEventHandleCallback obj;
-} PyvirEventHandleCallback_Object;
-
-#define PyvirEventTimeoutCallback_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirEventTimeoutCallback_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virEventTimeoutCallback obj;
-} PyvirEventTimeoutCallback_Object;
-
-#define PyvirFreeCallback_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirFreeCallback_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- virFreeCallback obj;
-} PyvirFreeCallback_Object;
-
-#define PyvirVoidPtr_Get(v) (((v) == Py_None) ? NULL : \
- (((PyvirVoidPtr_Object *)(v))->obj))
-
-typedef struct {
- PyObject_HEAD
- void* obj;
-} PyvirVoidPtr_Object;
-
-
-PyObject * libvirt_intWrap(int val);
-PyObject * libvirt_longWrap(long val);
-PyObject * libvirt_ulongWrap(unsigned long val);
-PyObject * libvirt_longlongWrap(long long val);
-PyObject * libvirt_charPtrWrap(char *str);
-PyObject * libvirt_constcharPtrWrap(const char *str);
-PyObject * libvirt_charPtrConstWrap(const char *str);
-PyObject * libvirt_virConnectPtrWrap(virConnectPtr node);
-PyObject * libvirt_virDomainPtrWrap(virDomainPtr node);
-PyObject * libvirt_virNetworkPtrWrap(virNetworkPtr node);
-PyObject * libvirt_virInterfacePtrWrap(virInterfacePtr node);
-PyObject * libvirt_virStoragePoolPtrWrap(virStoragePoolPtr node);
-PyObject * libvirt_virStorageVolPtrWrap(virStorageVolPtr node);
-PyObject * libvirt_virEventHandleCallbackWrap(virEventHandleCallback node);
-PyObject * libvirt_virEventTimeoutCallbackWrap(virEventTimeoutCallback node);
-PyObject * libvirt_virFreeCallbackWrap(virFreeCallback node);
-PyObject * libvirt_virVoidPtrWrap(void* node);
-PyObject * libvirt_virNodeDevicePtrWrap(virNodeDevicePtr node);
-PyObject * libvirt_virSecretPtrWrap(virSecretPtr node);
-
-
-/* Provide simple macro statement wrappers (adapted from GLib, in turn from Perl):
- * LIBVIRT_STMT_START { statements; } LIBVIRT_STMT_END;
- * can be used as a single statement, as in
- * if (x) LIBVIRT_STMT_START { ... } LIBVIRT_STMT_END; else ...
- *
- * When GCC is compiling C code in non-ANSI mode, it will use the
- * compiler __extension__ to wrap the statements within `({' and '})' braces.
- * When compiling on platforms where configure has defined
- * HAVE_DOWHILE_MACROS, statements will be wrapped with `do' and `while (0)'.
- * For any other platforms (SunOS4 is known to have this issue), wrap the
- * statements with `if (1)' and `else (void) 0'.
- */
-#if !(defined (LIBVIRT_STMT_START) && defined (LIBVIRT_STMT_END))
-# if defined (__GNUC__) && !defined (__STRICT_ANSI__) && !defined (__cplusplus)
-# define LIBVIRT_STMT_START (void) __extension__ (
-# define LIBVIRT_STMT_END )
-# else /* !(__GNUC__ && !__STRICT_ANSI__ && !__cplusplus) */
-# if defined (HAVE_DOWHILE_MACROS)
-# define LIBVIRT_STMT_START do
-# define LIBVIRT_STMT_END while (0)
-# else /* !HAVE_DOWHILE_MACROS */
-# define LIBVIRT_STMT_START if (1)
-# define LIBVIRT_STMT_END else (void) 0
-# endif /* !HAVE_DOWHILE_MACROS */
-# endif /* !(__GNUC__ && !__STRICT_ANSI__ && !__cplusplus) */
-#endif
-
-#define LIBVIRT_BEGIN_ALLOW_THREADS \
- LIBVIRT_STMT_START { \
- PyThreadState *_save = NULL; \
- if (PyEval_ThreadsInitialized()) \
- _save = PyEval_SaveThread();
-
-#define LIBVIRT_END_ALLOW_THREADS \
- if (PyEval_ThreadsInitialized()) \
- PyEval_RestoreThread(_save); \
- } LIBVIRT_STMT_END
-
-#define LIBVIRT_ENSURE_THREAD_STATE \
- LIBVIRT_STMT_START { \
- PyGILState_STATE _save = PyGILState_UNLOCKED; \
- if (PyEval_ThreadsInitialized()) \
- _save = PyGILState_Ensure();
-
-#define LIBVIRT_RELEASE_THREAD_STATE \
- if (PyEval_ThreadsInitialized()) \
- PyGILState_Release(_save); \
- } LIBVIRT_STMT_END