ServiceManager QML Type
The central instance that loads the backends and provides ServiceObjects. More...
|Import Statement:||import QtInterfaceFramework 1.0|
- list<ServiceObject> findServiceByInterface(interface, searchFlags, preferredBackends)
- bool hasInterface(interface)
The ServiceManager singleton provides a model which can be used to list all available backends and their interfaces.
This class can be useful when you want to query all available backends for a specific interface. For example, to show a list of all available backends which implement the MediaPlayer interface. The use can then be presented with an option to select between local playback, or playback using a bluetooth device.
The ServiceManager implements the QAbstractListModel interface and provides the following roles:
|string||The backend's name, such as MediaPlugin.|
|ServiceObject||The actual QIfServiceObject, which can be used to connect a frontend API to this backend.|
Note: When using this role in the data() function, the backend plugin is loaded and instantiated.
|list<string>||A list of interfaces implemented by the backend.|
list<ServiceObject> findServiceByInterface(interface, searchFlags, preferredBackends)
Returns a list of backends implementing the specified interface.
The searchFlags argument can be used to control which type of backends are included in the search result:
|Include production backends in the search result. See also ProductionBackend|
|Include simulation backends in the search result. See also SimulationBackend|
|Include both production and simulation backends in the search result.|
The preferredBackends argument is used to select a backend when multiple backends implement the specified interface. The wildcards are applied in order to the found backends. If the wildcard matches some backends those backends will be loaded, otherwise the next wildcard is used.
true if the specified interface has been registered.
© 2023 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.