AbstractFeature QML Type
The AbstractFeature is not directly accessible. The QML type provides base QML properties for the feature, like autoDiscovery and isValid. More...
Import Statement: | import QtIvi 1.0 |
Instantiates: | QIviAbstractFeature |
Inherited By: | AbstractZonedFeature, AmFmTuner, MediaIndexerControl, and MediaPlayer |
Properties
- discoveryMode : enumeration
- discoveryResult : enumeration
- isInitialized : bool
- isValid : bool
- serviceObject : ServiceObject
Methods
- enumeration startAutoDiscovery()
Detailed Description
Once the AbstractFeature is instantiated by QML the autoDiscovery will be started automatically. To disable this behavior the discoveryMode can be set to NoDiscovery
;
Property Documentation
discoveryMode : enumeration |
Holds the mode that is used for the autoDiscovery
Available values are:
Constant | Description |
---|---|
NoAutoDiscovery | No auto discovery is done and the ServiceObject needs to be set manually. |
AutoDiscovery | Tries to find a production backend with a matching interface and falls back to a simulation backend if not found. |
LoadOnlyProductionBackends | Only tries to load a production backend with a matching interface. |
LoadOnlySimulationBackends | Only tries to load a simulation backend with a matching interface. |
If necessary, auto discovery is started once the feature creation is completed.
Note: If you change this property after the feature is instantiated, make sure to call startAutoDiscovery() to search for a new service object.
discoveryResult : enumeration |
The result of the last autoDiscovery
Available values are:
Constant | Description |
---|---|
NoResult | Indicates that no auto discovery was started because the feature has already assigned a valid ServiceObject. |
ErrorWhileLoading | An error has happened while searching for a backend with a matching interface. |
ProductionBackendLoaded | A production backend was loaded, as a result of auto discovery. |
SimulationBackendLoaded | A simulation backend was loaded, as a result of auto discovery.s |
isInitialized : bool |
Indicates whether the feature has been initialized with all the values from the backend.
The property is true
once the backend sends the QIviFeatureInterface::initializationDone signal to indicate that all values have now been initialized with values from the backend.
See also isValid and QIviFeatureInterface::initializationDone.
isValid : bool |
Indicates whether the feature is ready for use.
The property is true
if the feature is ready to be used, otherwise false
. Not being ready usually indicates that no suitable service object could be found, or that automatic discovery has not been triggered.
The backend still might not have sent all properties yet and is not fully initialized. Use isInitialized instead to know when the feature holds all correct values.
See also QIviServiceObject, discoveryMode, and isInitialized.
Sets the service object for the feature.
As Features only expose the front API facing the developer, a service object implementing the actual function is required. This is usually retrieved through the auto discovery mechanism.
The setter for this property returns false if the QIviServiceObject
is already set to this particular instance or the QIviServiceObject isn't accepted by the feature.
See also discoveryMode.
Method Documentation
enumeration startAutoDiscovery() |
Performs an automatic discovery attempt.
The feature tries to locate a single ServiceObject that implements the required interface.
If no ServiceObject is found, the feature remains invalid. If more than one ServiceObject is found, the first instance is used.
This function returns either the type of the backend that was loaded; or an error.
If the discoveryMode
is set to QIviAbstractFeature::NoAutoDiscovery, this function does nothing and returns QIviAbstractFeature::NoResult.
Return values are:
Constant | Description |
---|---|
NoResult | Indicates that no auto discovery was started because the feature already has a valid ServiceObject assigned. |
ErrorWhileLoading | Indicates an error has occurred while searching for a backend with a matching interface. |
ProductionBackendLoaded | A production backend was loaded, as a result of auto discovery. |
SimulationBackendLoaded | A simulation backend was loaded, as a result of auto discovery. |
See also Dynamic Backend System and QIviServiceManager.
© 2020 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.