抽象功能 QML 类型
抽象功能无法直接访问。QML 类型为功能提供了基础 QML 属性,如 autoDiscovery 和 isValid。 更多...
导入语句 | import QtIvi 1.0 |
实例化 | QIviAbstractFeature |
继承自 | AbstractZonedFeature、AmFmTuner、MediaIndexerControl 和 MediaPlayer |
属性
- discoveryMode : 枚举
- discoveryResult : 枚举
- isInitialized : bool
- isValid : bool
- serviceObject : ServiceObject
方法
- 枚举 startAutoDiscovery()
详细介绍
一旦 QML 实例化了抽象功能,自动发现将自动启动。要禁用此行为,可以将 discoveryMode 设置为 NoDiscovery
;
属性文档
discoveryMode : 枚举 |
包含用于自动发现的模式
可用值有
常量 | 描述 |
---|---|
NoAutoDiscovery | 不执行自动发现且需要手动设置 ServiceObject。 |
AutoDiscovery | 尝试寻找具有匹配接口的生产后端,如果未找到,则回退到模拟后端。 |
LoadOnlyProductionBackends | 仅尝试加载具有匹配接口的生产后端。 |
LoadOnlySimulationBackends | 仅尝试加载具有匹配接口的模拟后端。 |
如有必要,在功能创建完成后自动启动自动发现。
注意:如果您在功能实例化后更改此属性,请确保调用 startAutoDiscovery() 以搜索新的服务对象。
discoveryResult : 枚举 |
上次自动发现的結果
可用值有
常量 | 描述 |
---|---|
NoResult | 指示未启动自动发现,因为功能已分配有效的 ServiceObject。 |
ErrorWhileLoading | 在搜索匹配接口的后端时发生错误。 |
ProductionBackendLoaded | 已加载生产后端,这是自动发现的结果。 |
SimulationBackendLoaded | 已加载模拟后端,这是自动发现的结果。 |
isInitialized : bool |
指示功能是否已用后端的所有值完成初始化。
一旦后端发送了 QIviFeatureInterface::initializationDone 信号以表示所有值都已用后端的值初始化,则属性为 true
。
isValid : bool |
指示功能是否已准备好使用。
如果功能已准备好使用,则属性为 true
,否则为 false
。未准备好通常表示找不到合适的服务对象,或者没有触发自动发现。
后端可能尚未发送所有属性,并且尚未完全初始化。要了解功能是否具有所有正确的值,请使用 isInitialized。
为功能设置服务对象。
由于功能仅向开发者公开前端 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. 的商标。所有其他商标均为其各自所有者的财产。