Passing opaque pointers between modules

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Passing opaque pointers between modules

Glenn Ramsey-2
Is it possible to pass an opaque pointer from one bpl module to another?

Following the documentation [1] I am able to successfully pass an opaque pointer
from one function in a module to another function in that same module.
Attempting to pass the opaque pointer to another module results in an error like
this:

Python argument types in
        Module1.SetOpaque(Class1, class opaque_ *)
did not match C++ signature:
     SetOpaque(class Class2 {lvalue}, class opaque_ *)

If I try the same using void * and relying on the built-in converters I get a
similar failure:

No registered converter was able to extract a C++ pointer to type void * from
this Python object of type void *

Is there a way to do this?

Glenn

[1]
<http://www.boost.org/doc/libs/1_47_0/libs/python/doc/v2/return_opaque_pointer.html>
_______________________________________________
Cplusplus-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/cplusplus-sig
Reply | Threaded
Open this post in threaded view
|

Re: Passing opaque pointers between modules

Glenn Ramsey-2
On 07/10/11 09:36, Glenn Ramsey wrote:

> Is it possible to pass an opaque pointer from one bpl module to another?
>
> Following the documentation [1] I am able to successfully pass an opaque pointer
> from one function in a module to another function in that same module.
> Attempting to pass the opaque pointer to another module results in an error like
> this:
>
> Python argument types in
> Module1.SetOpaque(Class1, class opaque_ *)
> did not match C++ signature:
> SetOpaque(class Class2 {lvalue}, class opaque_ *)
>
> If I try the same using void * and relying on the built-in converters I get a
> similar failure:
>
> No registered converter was able to extract a C++ pointer to type void * from
> this Python object of type void *
>
> Is there a way to do this?
>
> Glenn
>
> [1]
> <http://www.boost.org/doc/libs/1_47_0/libs/python/doc/v2/return_opaque_pointer.html>

It works if BOOST_PYTHON_STATIC_LIB is not defined.

Glenn

_______________________________________________
Cplusplus-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/cplusplus-sig