ContainerManagerInterface 类

自定义容器解决方案的插件接口。 更多...

头文件 #include <ContainerManagerInterface>

公开函数

virtual ContainerInterface *create(bool isQuickLaunch, const QVector<int> &stdioRedirections, const QMap<QString, QString> &debugWrapperEnvironment, const QStringList &debugWrapperCommand) = 0
virtual QStringidentifier() const = 0
virtual voidsetConfiguration(const QVariantMap &configuration) = 0
virtual boolsupportsQuickLaunch() const = 0

详细描述

这是您必须实现的接口,如果您想将您自己的自定义容器解决方案集成到应用管理器中。

例如,请参阅 examples/software-container。这个例子展示了 Pelagicore 的 SoftwareContainers(本质上是非常好用的 LXC 包装)的集成。

成员函数说明

[纯虚函数] ContainerInterface *ContainerManagerInterface::create(bool isQuickLaunch, const QVector<int> &stdioRedirections, const QMap<QString, QString> &debugWrapperEnvironment, const QStringList &debugWrapperCommand)

应用管理器将在每次需要为直接应用启动或运行时快速启动器创建特定容器时调用此函数(具体取决于 isQuickLaunch 参数的值)。

如果 stdioRedirections 向量不为空,插件应尽可能重定向标准 I/O 流:此向量最多可以有三个条目,索引对应于 Unix 标准 I/O 文件编号(0:stdin,1:stdout 和 2:stderr)。此向量中的值要么是用于重定向的打开 OS 文件描述符,要么是 -1[-1, 5, 5] 表示:忽略 stdin 并将 stdoutstderr 重定向到 fd 5

debugWrapperEnvironment 是可选的环境变量字符串映射及其值,以便使用调试包装器(如果 debugWrapperCommand 不为空 - 下文见)。此映射中的空值表示,带其键的环境变量应被取消设置。

如果 debugWrapperCommand 不为空,插件将请求执行通过 ContainterInterface::setProgram 设置的二进制文件的调试包装器。插件负责合并这两者并处理 %program%%arguments% 的替换。有关更多信息,请参见 调试包装器文档

[纯虚函数] QString ContainerManagerInterface::identifier() const

应返回此容器插件的唯一标识符字符串。

[纯虚函数] void ContainerManagerInterface::setConfiguration(const QVariantMap &configuration)

在应用程序解析其配置文件后被调用。参数 configuration 映射与容器特定的配置相对应,这些配置如容器文档所述(可选)。

[纯虚函数] bool ContainerManagerInterface::supportsQuickLaunch() const

如果接口支持快速启动,则返回 true,否则返回 false

©2019 Luxoft Sweden AB。此处包含的文档贡献的版权归其各自所有者所有。本提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款授权的。Qt及其相应标志是芬兰及其它全球地区的Qt公司有限责任公司的商标。所有其他商标均为其各自所有者的财产。