
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Li, PingShan (Kansas City) Sent: Tuesday, May 08, 2007 7:44 AM To: boost-users@lists.boost.org Subject: Re: [Boost-users] boost::bind,C++ member function and C callback function
Changing the OpenSSL API is not an option for me.
Let's assume that the callback function accepts a void* parameter, can you show me an example that I can bind C++ member function to a C callback function?
Untested: typedef boost::function<void(void)> fn_t; void generic_c_callback(void * data) { fn_t * f(reinterpret_cast<fn_t *>(data)); if(f) (*f)(); else log_oops("..."); // delete f; ? } int main() { register_c_callback(generic_c_callback,new fn_t(bind(a,something,something,something))); } I think something like this could work, but have never actually tried it :-) Sohail