zoukankan      html  css  js  c++  java
  • ctkPluginFramework中的MANIFEST.MF文件的说明

    在创建ctk插件时,有一个对插件进行信息描述的文件:MANIFEST.MF,在 ctkPluginConstants 类中可以找到ctk中使用的信息:

    • Plugin-SymbolicName:插件的符号名,插件的唯一标识
    • Plugin-Copyright:插件的版权信息
    • Plugin-Description:插件的简要描述
    • Plugin-Name:插件的名称,对插件起说明作用,不影响插件功能
    • Plugin-Vendor:插件的供应商
    • Plugin-Localization:标识插件的Qt .qm 文件的基本名称:如中文qt_zh.qm,此处写zh
    • Require-Plugin:插件所需的其他插件的符号名称
    • Plugin-Version:插件的版本号
    • Plugin-ActivationPolicy:插件的激活策略
    • Plugin-UpdateLocation:在插件更新操作期间,获取新插件版本的位置

    插件的版本号由 Plugin-Version 头指定,语法如下:

    version ::= majorVersion('.'minorVersion('.'microVersion('.'qualifier)?)?)?
    majorVersion ::= digit+
    minorVersion ::= digit+
    microVersion ::= digit+
    qualifier ::= (alpha|digit|'_'|'-')+
    digit ::= [0..9]
    alpha ::= [a..zA..Z]

    PS:version 中不能有空格

    插件的激活策略由 Plugin-ActivationPolicy指定,默认值是 lazy

    • eager:插件使用 ctkPlugin::START_ACTIVATION_POLICY 选项启动,当框架启动时会立即激活。
    • lazy:插件使用 ctkPlugin::START_ACTIVATION_POLICY 选项启动,并在 ctkPlugin::STARTING 状态等待,直到插件的第一类实例化发生。插件将在实例返回给请求者之前被激活

    插件依赖的插件由Require-Plugin指定,

    resolution用来标识Require-Plugin中的解析类型,默认值是mandatory。包括:

    • optional(可选的):表示所需的插件是可选的,并且即使所需的插件没有被解析,该插件也可以被解析。
    • mandatory(强制的):表示在解析插件时,所需的插件也必须被解析。如果所需的插件不能被解析,则模块解析失败。

    示例如下:

    Require-Plugin: com.superbi.module.test; resolution:="optional"

    plugin-version用来标识 Require-Plugin 中指定插件的版本,默认值是 0.0.0

    示例如下:

    Require-Plugin: com.superbi.module.test; plugin-version="1.0.1"
    Require-Plugin: com.superbi.module.test; plugin-version="[1.0.0,2.0.0)"

    如果指定为单个版本,则意味着包含大于或等于指定版本的任何插件。

    获取MANIFEST.MF的数据通过getHeader、getSymbolicName和getVersion进行。

    getHeader返回QHash<QString, QString>,包含了所有信息。

    参考链接:http://www.voidcn.com/article/p-bclkrnrz-bqt.html

  • 相关阅读:
    这个帖子主要总结数据库备份方面的问题
    Visual C#.Net 网络程序开发Socket篇
    数据库设计说明书参考模板
    用Visual C#开发WinForm的应用程序
    在ASP.NET页中读取文本文件
    如何通过 SQL Server 链接服务器和分布式查询使用 Excel
    ER概念模型
    SQL Server 存储过程的分页方案比拼
    读出某一个目录的文件和文件夹
    Linux中的定时任务简单操作实例
  • 原文地址:https://www.cnblogs.com/superbi/p/12454012.html
Copyright © 2011-2022 走看看