aboutsummaryrefslogtreecommitdiffstats
path: root/libshiboken/basewrapper.h
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2011-08-08 03:29:21 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:18:26 -0300
commitb8bd47404fd3860bdb282750a1e5919921ca80df (patch)
tree3e2c6623379578c3e4033bdab46d45ee2d3af028 /libshiboken/basewrapper.h
parentdf0378d142c55fe63b89735e3dd8f14988893a3e (diff)
Implemented new type converters, but only for wrapper types.
Diffstat (limited to 'libshiboken/basewrapper.h')
-rw-r--r--libshiboken/basewrapper.h21
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 {