抽象功能 QML 类型

抽象功能无法直接访问。QML 类型为功能提供了基础 QML 属性,如 autoDiscovery 和 isValid更多...

导入语句import QtIvi 1.0
实例化 QIviAbstractFeature
继承自

AbstractZonedFeatureAmFmTunerMediaIndexerControlMediaPlayer

属性

方法

详细介绍

一旦 QML 实例化了抽象功能,自动发现将自动启动。要禁用此行为,可以将 discoveryMode 设置为 NoDiscovery;

属性文档

discoveryMode : 枚举

包含用于自动发现的模式

可用值有

常量描述
NoAutoDiscovery不执行自动发现且需要手动设置 ServiceObject。
AutoDiscovery尝试寻找具有匹配接口的生产后端,如果未找到,则回退到模拟后端。
LoadOnlyProductionBackends仅尝试加载具有匹配接口的生产后端。
LoadOnlySimulationBackends仅尝试加载具有匹配接口的模拟后端。

如有必要,在功能创建完成后自动启动自动发现。

注意:如果您在功能实例化后更改此属性,请确保调用 startAutoDiscovery() 以搜索新的服务对象。


discoveryResult : 枚举

上次自动发现的結果

可用值有

常量描述
NoResult指示未启动自动发现,因为功能已分配有效的 ServiceObject。
ErrorWhileLoading在搜索匹配接口的后端时发生错误。
ProductionBackendLoaded已加载生产后端,这是自动发现的结果。
SimulationBackendLoaded已加载模拟后端,这是自动发现的结果。

isInitialized : bool

指示功能是否已用后端的所有值完成初始化。

一旦后端发送了 QIviFeatureInterface::initializationDone 信号以表示所有值都已用后端的值初始化,则属性为 true

另请参阅isValidQIviFeatureInterface::initializationDone


isValid : bool

指示功能是否已准备好使用。

如果功能已准备好使用,则属性为 true,否则为 false。未准备好通常表示找不到合适的服务对象,或者没有触发自动发现。

后端可能尚未发送所有属性,并且尚未完全初始化。要了解功能是否具有所有正确的值,请使用 isInitialized

另请参阅QIviServiceObjectdiscoveryModeisInitialized


serviceObject : ServiceObject

为功能设置服务对象。

由于功能仅向开发者公开前端 API,因此需要实现实际功能的服务对象。这通常是通过自动发现机制检索的。

设置此属性的设置器返回 false,如果 QIviServiceObject 已经设置为特定实例或该 QIviServiceObject 不被功能接受。

另请参阅discoveryMode


方法说明

枚举 startAutoDiscovery()

执行自动发现尝试。

功能尝试定位一个实现所需接口的单个 ServiceObject。

如果没有找到 ServiceObject,则功能保持无效。如果找到多个 ServiceObject,则使用 第一个 实例。

此函数返回加载的 backend 类型;或错误。

如果将 discoveryMode 设置为 QIviAbstractFeature::NoAutoDiscovery,则此函数不执行任何操作并返回 QIviAbstractFeature::NoResult

返回值是

常量描述
NoResult表示由于功能已经分配了有效的 ServiceObject,因此未开始自动发现。
ErrorWhileLoading表示在搜索匹配接口的 backend 时发生错误。
ProductionBackendLoaded已加载生产后端,这是自动发现的结果。
SimulationBackendLoaded由于自动发现,已加载模拟 backend。

另请参阅动态后端系统QIviServiceManager


©2020 The Qt Company Ltd. 本文档中的文档捐赠是各自所有者的版权。本文档提供的文档根据由自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款进行许可。Qt 和相应的徽标是芬兰及/或其他国家和地区的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。