一、简介 服务追踪:如果想在B插件里使用A服务,可以专门写一个类继承ctkServiceTracker,在这个类里完成对A服务的底层操作,然后在B插件里通过这个类提供的接口来使用回收A服务。 注意ctkServiceTracker和A服务应该是一起的,这里有点像服务工厂。优点 ...
概念 接口就是纯虚函数类,也就是最终的服务的前身 插件就是实现这个接口类的实现类,所以理论上有多少个实现类就有多少个插件。注意每个插件都有自己的注册器Activator 服务就是根据接口的实例,每生成一个服务就会调用一次注册器的start。 一句话总结就是:把接口当做类,服务是根据类new出的对象,插件就是动态库dll。 对 个接口类由 个类实现,输出 个服务和 个插件。 多对 个类实现了 个接 ...
2020-07-01 18:14 0 578 推荐指数:
一、简介 服务追踪:如果想在B插件里使用A服务,可以专门写一个类继承ctkServiceTracker,在这个类里完成对A服务的底层操作,然后在B插件里通过这个类提供的接口来使用回收A服务。 注意ctkServiceTracker和A服务应该是一起的,这里有点像服务工厂。优点 ...
方式1:使用ctk框架工厂,适用于调用普通的插件 方式2:使用ctk框架启动器,适用于需要eventadmin时 ...
零、概述 1、通信主要用到了ctkEventAdmin结构体,主要定义了如下接口: postEvent:类通信形式异步发送事件 sendEvent:类通信形式同步发送事件 publishSignal:信号与槽通信形式发送事件 unpublishSignal:取消发送事件 ...
1、作用 在服务中可以知道是哪个其他插件在使用它; 懒汉式使用服务,需要的时候才new; 厂其他插件使用有服务工厂和使用无服务工的服务,没有任何区别,代码都一样; 可根据需要创建多种实现的服务,就是:多种服务对应一个插件。 2、用打印插件举例 提供三种服务,分别是:直接打印、打印后加 ...
CTK一共有三种事件可以监听:框架事件、插件事件、服务事件。但是这些事件只有再变化时才能监听到,如果已经变化过后,进入一个稳定的状态,这时才去监听,那么是无法监听到的。 1、监听接口 主要是ctkPluginContext提供的三个函数: 2、如何使用 ...
一、项目介绍 1、主要为了在此小型测试项目中用到几乎所有ctk的常用知识: 插件间通信、服务工厂、服务追踪、事件监听、框架封装 2、项目共包含3个插件日志插件:用于模拟将接收的信息存储到日志中【这里只做简单的打印】,并且能够接收信息【主要来自界面插件】 打印插件:根据不同的插件返回提供 ...
一、生成插件 0、环境说明 编译ctk:Qt5.12.2+MSVC2017_64+Cmake 生成插件:Qt5.12.2+MSVC2017_64+qmake 1、服务类,纯虚类,提供接口 abslogservice.h 2、实现插件类,实现纯虚函数 ...
0、概述 编写插件主要有3个步骤:接口类、实现类、激活类。根据前面写的入门插件【https://www.cnblogs.com/judes/p/13220386.html】,总感觉很难理解,为什么还要在实现类的构造函数里注册服务呢,我们肯定希望把3个步骤的耦合性降低,接口类就只做接口声明,实现类 ...