Author: larry.hastings Date: Thu Mar 25 02:23:27 2010 New Revision: 79410 Log: Remove extraneous experimental code checked in by accident. Modified: python/trunk/Include/pycapsule.h Modified: python/trunk/Include/pycapsule.h ============================================================================== --- python/trunk/Include/pycapsule.h (original) +++ python/trunk/Include/pycapsule.h Thu Mar 25 02:23:27 2010 @@ -50,98 +50,6 @@ PyAPI_FUNC(void *) PyCapsule_Import(const char *name, int no_block); - -#define PYTHON_USING_CAPSULE - -#define PYCAPSULE_INSTANTIATE_DESTRUCTOR(name, destructor) \ -static void pycapsule_destructor_ ## name(PyObject *ptr) \ -{ \ - void *p = PyCapsule_GetPointer(ptr, name); \ - if (p) { \ - destructor(p); \ - } \ -} \ - -#define PYCAPSULE_NEW(pointer, name) \ - (PyCapsule_New(pointer, name, capsule_destructor_ ## name)) - -#define PYCAPSULE_ISVALID(capsule, name) \ - (PyCapsule_IsValid(capsule, name)) - -#define PYCAPSULE_DEREFERENCE(capsule, name) \ - (PyCapsule_GetPointer(capsule, name)) - -#define PYCAPSULE_SET(capsule, name, value) \ - (PyCapsule_IsValid(capsule, name) && PyCapsule_SetPointer(capsule, value)) - -/* module and attribute should be specified as string constants */ -#define PYCAPSULE_IMPORT(module, attribute) \ - (PyCapsule_Import(module "." attribute, 0)) - - -/* begin public-domain code */ -/* -** This code was written by Larry Hastings, -** and is dedicated to the public domain. -** It's designed to make it easy to switch -** from CObject to Capsule objects without losing -** backwards compatibility with prior versions -** of CPython. You're encouraged to copy this code -** (including this documentation) into your -** Python C extension. -** -** To use: -** * #define a name for the pointer you store in -** the CObject. If you make the CObject available -** as part of your module's API, this name should -** be "modulename.attributename", and it should be -** considered part of your API (so put it in your -** header file). -** * Specify a PYCAPSULE_INSTANTIATE_DESTRUCTOR(), in -** every C file that creates these CObjects. This -** is where you specify your object's destructor. -** * Change all calls to CObject_FromVoidPtr() -** and CObject_FromVoidPointerAndDesc() into -** PYCAPSULE_NEW() calls. -** * Change all calls to PyCObject_AsVoidPtr() -** into PYCAPSULE_DEREFERENCE() calls. -** * Change all calls to PyCObject_SetVoidPtr() -** into PYCAPSULE_SET() calls. -** * Change all calls to PyCObject_Import() -** into PYCAPSULE_IMPORT() calls. Note that -** the two arguments to PYCAPSULE_IMPORT() -** should both be string constants; that is, -** you should call -** PYCAPSULE_IMPORT("modulename", "attributename"), -** not PYCAPSULE_IMPORT(charstar1, charstar2). -*/ -#ifndef PYTHON_USING_CAPSULE - -#define PYCAPSULE_INSTANTIATE_DESTRUCTOR(name, destructor) \ -static void pycapsule_destructor_ ## name(void *ptr) \ -{ \ - destructor(p); \ -} \ - -#define PYCAPSULE_NEW(pointer, name) \ - (PyCObject_FromVoidPtr(pointer, pycapsule_destructor_ ## name)) - -#define PYCAPSULE_ISVALID(capsule, name) \ - (PyCObject_Check(capsule)) - -#define PYCAPSULE_DEREFERENCE(capsule, name) \ - (PyCObject_AsVoidPtr(capsule)) - -#define PYCAPSULE_SET(capsule, name, value) \ - (PyCObject_SetVoidPtr(capsule, value)) - -/* module and attribute should be specified as string constants */ -#define PYCAPSULE_IMPORT(module, attribute) \ - (PyCObject_Import(module, attribute)) - -#endif /* PYTHON_USING_CAPSULE */ -/* end public-domain code */ - #ifdef __cplusplus } #endif
participants (1)
-
larry.hastings