本章来写一个插件,插件功能为通过NETLINK读取linux系统中的hotplug信息,比如usb、SD卡、磁盘等设备的插拔事件产生的信息,将读到的信息通过插件间通信的方式发出。
1. eventadmin库编译
CTK Plugin Framework下插件间通信是通过事件管理机制实现的,其代码位于CTK/Libs/PluginFramework/service/event目录下,使能事件管理机制,首先要在编译CTK的时候选择生成org.commontk.eventadmin库。如下图所示,打开cmake-gui,搜索plugin,然后把几个相关的库勾选上,重新编译CTK。

同样,参考上一篇博客,将编译生成的库文件,拷贝到Qt工程的"plugindepends/lib-平台名称"目录下,windows-x64-msvc平台下文件列表如下图所示。

2. eventadmin库环境配置
eventadmin插件属于ctk库自带的插件,可以通过如下方式启动。
ctkPluginFrameworkLauncher::addSearchPath(ctkPluginLibsPath, false); // 添加services插件目录
ctkPluginFrameworkLauncher::start("org.commontk.eventadmin"); // 启动插件框架,使能eventadmin service
需要先添加eventadmin插件库的所

本文介绍如何使用CTK插件框架通过NETLINK监控Linux系统的hotplug事件,包括eventadmin库的编译配置,hotplug插件的编写,事件接收以及运行示例。
1004

被折叠的 条评论
为什么被折叠?



