[Python-checkins] r79410 - python/trunk/Include/pycapsule.h

larry.hastings python-checkins at python.org
Thu Mar 25 02:23:27 CET 2010


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


More information about the Python-checkins mailing list