, API Python:
typedef void (*fingi_event)(FINGI_EVENT_ID eventId, char* msg);
void register_fingi_sdk_status_event_listener(fingi_event);
, , eventId . , ( extern "C", , API):
void my_callback(FINGI_EVENT_ID eventId, char* msg)
{
}
register:
void my_register()
{
register_fingi_sdk_status_event_listener(my_callback);
}
:
def("my_register", my_register);
. , . , , - ? , , Python - PyObject, Python Boost Python:
boost::python::object g_callback;
void my_callback(FINGI_EVENT_ID eventId, char* msg)
{
if (g_callback)
g_callback(eventId, msg);
}
, :
void set_callback(boost::python::object func)
{
g_callback = func;
register_fingi_sdk_status_event_listener(my_callback);
}
def("set_callback", set_callback);
Python:
def callback(eventId, msg):
print eventId, msg
set_callback(callback)
, . , API "void * userData", API . PyObject - . API , -, , .