python plugin: Switch back to calling the type object to create a new object like...
[collectd.git] / src / cpython.h
index b5a1754..46e2301 100644 (file)
  *   Sven Trenkel <collectd at semidefinite.de>  
  **/
 
+/* Some python versions don't include this by default. */
+
+#include <longintrepr.h>
+
 /* These two macros are basicly Py_BEGIN_ALLOW_THREADS and Py_BEGIN_ALLOW_THREADS
  * from the other direction. If a Python thread calls a C function
  * Py_BEGIN_ALLOW_THREADS is used to allow other python threads to run because
@@ -178,6 +182,7 @@ typedef struct {
        char type_instance[DATA_MAX_NAME_LEN];
 } PluginData;
 PyTypeObject PluginDataType;
+#define PluginData_New() PyObject_CallFunctionObjArgs((PyObject *) &PluginDataType, (void *) 0)
 
 typedef struct {
        PluginData data;
@@ -186,6 +191,7 @@ typedef struct {
        int interval;
 } Values;
 PyTypeObject ValuesType;
+#define Values_New() PyObject_CallFunctionObjArgs((PyObject *) &ValuesType, (void *) 0)
 
 typedef struct {
        PluginData data;
@@ -193,9 +199,11 @@ typedef struct {
        char message[NOTIF_MAX_MSG_LEN];
 } Notification;
 PyTypeObject NotificationType;
+#define Notification_New() PyObject_CallFunctionObjArgs((PyObject *) &NotificationType, (void *) 0)
 
 typedef PyLongObject Signed;
 PyTypeObject SignedType;
 
 typedef PyLongObject Unsigned;
 PyTypeObject UnsignedType;
+