c++ - 主线程的 Firebreath 计时器回调

标签 c++ boost npapi firebreath

我可以知道如何使用 Firebreath 插件框架在主线程上创建周期性计时器回调吗?我试过 FB::Timer::getTimer(1, true, EventRunLoop);在 StaticInitialize() 上。当我调试创建的 dll 插件并将断点插入 EventRunLoop 时,我注意到我的 EventRunLoop 函数没有在主线程上运行,VC++ express 2008 总是指示我在工作线程而不是主线程中。

我知道 FB:Timer 是 boost::asio 的包装器。要使用 boost 创建 async_wait,我需要将 boost::asio::io_service io.run() 函数放入主线程。但是我不知道如何主动访问 NPAPI 或 Firebreath 的主线程,因为创建的所有函数都是基于事件的。

最佳答案

推荐的方法是使用FB::Timer,然后使用m_host->scheduleOnMainThread回调到主线程。

如果您只需要窗口,您可以使用 WM_TIMER。

在 FireBreath 代码库的 FBTestPlugin 示例中有几乎所有这些的示例

关于c++ - 主线程的 Firebreath 计时器回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23165709/

相关文章:

c++ - 如何在 C++ 中同时写入和读取 `fstream` 的文件?

c++ - MPI_Comm_split 解释

c++ - boost::split 是如何工作的?

qt - 使用 Qt 编写的插件并使其与 NPAPI 一起使用的简单工作示例

c++ - 如何推断仿函数返回值的类型?

模板内的 C++ 初始值设定项列表

c++ - boost::detail::atomic_count 线程安全吗?

c++ - boost::acceptor::cancel 没有按预期工作

silverlight - Safari 为 Silverlight (NPAPI) 计划的生命周期是多少

c++ - 跨平台 NPAPI 接口(interface)/集成