09:进阶篇 - CTK 插件和服务

Posted 一去丶二三里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09:进阶篇 - CTK 插件和服务相关的知识,希望对你有一定的参考价值。

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

定义 CTK 服务

CTK Plugin Framework 允许每个 Plugin 对外提供一组服务,其它的 Plugin 都可以访问这些服务,这也就是 CTK Plugin 之间的调用方式。

在 CTK 中,服务是由标准的 C++ 类或接口定义的,定义服务分为两步:

  1. 定义你想要提供服务的类或接口,这被称为服务接口。
  2. 为服务型接口编写实现类。

可以通过 CTK 运行时注册服务实现并使用现有服务,为此 CTK 提供了一个中央服务注册中心。

插件和服务

在《06:进阶篇 - Hello,CTK!》一节中,我们介绍了插件的一些基本概念,并演示了如何去创建一个插件。但这个插件可以说是最简单的 - 一个插件创建一个对象,并在一个接口下进行注册。

但在实际开发过程中,插件的编写往往会比较复杂:

  • 一个插件使用多个接口

一个插件可以创建一个对象,并在一个或多个接口下使用 CTK Service Registry 注册它,其他插件可以要求 registry 列出在特定接口下注册的所有服务(对象)。

  • 多个插件使用同一接口

以上是关于09:进阶篇 - CTK 插件和服务的主要内容,如果未能解决你的问题,请参考以下文章

07:进阶篇 - 在程序中嵌入 CTK Plugin Framework

08:进阶篇 - CTK 插件元数据

06:进阶篇 - Hello,CTK!

03:入门篇 - CTK Plugin Framework 基本原理

11:高级篇 - CTK 事件管理机制(插件间通信)

CTK-创建插件时用到的一些宏定义