$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Sohail Somani (s.somani_at_[hidden])
Date: 2007-05-08 15:21:10
> -----Original Message-----
> From: boost-users-bounces_at_[hidden] 
> [mailto:boost-users-bounces_at_[hidden]] On Behalf Of Li, 
> PingShan (Kansas City)
> Sent: Tuesday, May 08, 2007 7:44 AM
> To: boost-users_at_[hidden]
> 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