如何从Firebreath回调FireEvent

时间:2014-06-05 09:10:53

标签: javascript c++ callback firebreath

我是Firebreath的新手。我有一个工作组通过Firebreath通过网页使用上传文件DLL。 现在我有一个回调问题。 我的dll中有一个API。

int idu_initialize(transfer_callback pf); 

回调函数指针定义如下:

typedef void (*transfer_callback)(const char*)

transfer_callback是一个上传进程回调函数。 我希望html页面可以使用transfer_callback来刷新html UI。 我执行以下步骤: 方法1 定义一个PluginJsAPI函数

registerMethod("fire_idum_initialize", make_method(this, &IDUMPluginAPI::fire_idum_initialize));
int fire_idum_initialize();
callback function like this:
void print_transfer_info(const char *s)
{
}
int IDUMPluginAPI::fire_idum_initialize()
{
    int result = idu_initialize(print_transfer_info);
    return result;
}

在文件上传过程中,调试指针可以进入print_transfer_info回调 我在debug html中定义了一个js函数

function load()
{
    addEvent(plugin(), 'upcb', function(msg){
          document.getElementById('callbackDiv').innerHTML=msg;});
}

我想在print_transfer_info中调用fire_upcb(s)宏,但是print_transfer_info不是IDUMPluginAPI成员函数,不能调用fire_upcb(s) 我该怎么走? 方法2: 定义一个js函数回调,但我怎么能comsume print_transfer_info回调? 如何从dll回调函数print_transfer_info向js发送fire事件。 print_transfer_info不是类成员函数;即使将print_transfer_info定义为静态类成员函数,也不能调用fire_event。 任何建议都非常感谢,谢谢。

0 个答案:

没有答案