Der Lockruf des Kaos schrieb:

>Before i posted to the List, i already managed too bind the Non-Member 
>Functions to the Handler (e.g. ecore_event_handler_add)
>
>int Test( void *d, int t, void *e ) { return 0; }
>ecore_event_handler_add( ECORE_IPC_EVENT_SERVER_DEL, &Test, NULL );
>
>I think it's the same in Factory.*.
>
>My Problem is, if i have a class and a Memberfunctions Test like the one 
>above, i can't right of it. ( xnowfall tells us a plausible Reason why it 
>doesn't fit like i tried it )
>This Version would look like
>
>int 
>ClassA::Test( void *d, int t, void *e ) { return 0; }
>ecore_event_handler_add( ECORE_IPC_EVENT_SERVER_DEL, <CannotBindIt>, NULL );
><CannotBindIt>: &ClassA::Test, &ClassA->Test, bind<...>(...)
>Nothing worked.
>
>I guess this Example from avisynth is for Non-ClassMember Functions, or am i 
>wrong?
>
>
>Greets,
>       Christian
>
Don't pass member-functions. This cannot work in c. But you can use
friend-functions instead. Take a look on
http://www.parashift.com/c++-faq-lite/pointers-to-members.html
For example:

class myclass{
    friend   int _my_callback(void * data, int t, void *e);
     int   my_private_int;
    ...
};

int _my_callback(void * data, int t, void *e){
    myclass* mc;

    mc = (myclass*) data;
    return mc->my_private_int = 0;
}

...

myclass foo;
ecore_event_handler_add( ECORE_IPC_EVENT_SERVER_DEL, _my_callback, &foo );

...


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to