diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2011-08-08 03:29:21 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:18:26 -0300 |
commit | b8bd47404fd3860bdb282750a1e5919921ca80df (patch) | |
tree | 3e2c6623379578c3e4033bdab46d45ee2d3af028 /libshiboken/basewrapper.h | |
parent | df0378d142c55fe63b89735e3dd8f14988893a3e (diff) |
Implemented new type converters, but only for wrapper types.
Diffstat (limited to 'libshiboken/basewrapper.h')
-rw-r--r-- | libshiboken/basewrapper.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/libshiboken/basewrapper.h b/libshiboken/basewrapper.h index 1d4b96436..c25390274 100644 --- a/libshiboken/basewrapper.h +++ b/libshiboken/basewrapper.h @@ -33,6 +33,7 @@ extern "C" { +struct SbkConverter; struct SbkObjectPrivate; /// Base Python object for all the wrapped C++ classes. @@ -65,8 +66,8 @@ typedef void* (*SpecialCastFunction)(void*, SbkObjectType*); typedef SbkObjectType* (*TypeDiscoveryFunc)(void*, SbkObjectType*); typedef void* (*TypeDiscoveryFuncV2)(void*, SbkObjectType*); -typedef void* (*ExtendedToCppFunc)(PyObject*); -typedef bool (*ExtendedIsConvertibleFunc)(PyObject*); +typedef void* (*ExtendedToCppFunc)(PyObject*); // DEPRECATED. +typedef bool (*ExtendedIsConvertibleFunc)(PyObject*); // DEPRECATED. // Used in userdata dealloc function typedef void (*DeleteUserDataFunc)(void*); @@ -131,11 +132,13 @@ LIBSHIBOKEN_API bool isUserType(PyTypeObject* pyObj); */ LIBSHIBOKEN_API bool canCallConstructor(PyTypeObject* myType, PyTypeObject* ctorType); -LIBSHIBOKEN_API void setExternalCppConversionFunction(SbkObjectType* self, ExtendedToCppFunc func); -LIBSHIBOKEN_API void setExternalIsConvertibleFunction(SbkObjectType* self, ExtendedIsConvertibleFunc func); -LIBSHIBOKEN_API bool hasExternalCppConversions(SbkObjectType* self); -LIBSHIBOKEN_API bool isExternalConvertible(SbkObjectType* self, PyObject* obj); -LIBSHIBOKEN_API void* callExternalCppConversion(SbkObjectType* self, PyObject* obj); + +LIBSHIBOKEN_API bool hasExternalCppConversions(SbkObjectType*); // DEPRECATED. +LIBSHIBOKEN_API bool isExternalConvertible(SbkObjectType*, PyObject*); // DEPRECATED. +LIBSHIBOKEN_API void setExternalCppConversionFunction(SbkObjectType*, ExtendedToCppFunc); // DEPRECATED. +LIBSHIBOKEN_API void setExternalIsConvertibleFunction(SbkObjectType*, ExtendedIsConvertibleFunc); // DEPRECATED. +LIBSHIBOKEN_API void* callExternalCppConversion(SbkObjectType*, PyObject*); // DEPRECATED. + /** * Tells if the \p type represents an object of a class with multiple inheritance in C++. @@ -206,6 +209,10 @@ LIBSHIBOKEN_API void setSubTypeInitHook(SbkObjectType* self, SubTypeInitH */ LIBSHIBOKEN_API void* getTypeUserData(SbkObjectType* self); LIBSHIBOKEN_API void setTypeUserData(SbkObjectType* self, void* userData, DeleteUserDataFunc d_func); + +/// Returns the converter assigned to the wrapper \p type. +LIBSHIBOKEN_API SbkConverter* getTypeConverter(SbkObjectType* type); + } namespace Object { |