ImagingTools Core SDK
IDeviceController.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ImtCore includes
6#include <imtdev/IDeviceAccessor.h>
7#include <imtdev/IDeviceEnumerator.h>
8#include <imtdev/IDeviceInstance.h>
9#include <imtdev/IDeviceStateProvider.h>
10
11
12namespace imtbase
13{
14 class ICollectionInfo;
15}
16
17
18namespace imtdev
19{
20
21
22class IDeviceSpecification;
23
24
84{
85public:
96 virtual const QByteArrayList& GetSupportedDeviceTypeIds() const = 0;
97
109 virtual const IDeviceSpecification* GetDeviceStaticInfo(const QByteArray& deviceTypeId) const = 0;
110
123
135 virtual bool SetDeviceInstanceName(const QByteArray& deviceId, const QString& name) = 0;
136
148 virtual bool SetDeviceInstanceDescription(const QByteArray& deviceId, const QString& description) = 0;
149
164 virtual DeviceInstancePtr GetDeviceInstance(const QByteArray& deviceId) const = 0;
165
176
191 virtual DeviceAccessorPtr OpenDevice(
192 const QByteArray& deviceId,
193 const iprm::IParamsSet* paramsPtr) = 0;
194
206 virtual bool CloseDevice(const QByteArray& deviceId) = 0;
207};
208
209
210} // namespace imtdev
211
212
Common interface for controlling devices.
virtual bool SetDeviceInstanceName(const QByteArray &deviceId, const QString &name)=0
Set custom name for a device instance.
virtual const imtbase::ICollectionInfo & GetDeviceInstanceList() const =0
Get the list of available device instances.
virtual const IDeviceSpecification * GetDeviceStaticInfo(const QByteArray &deviceTypeId) const =0
Get device static info for the given device type ID.
virtual DeviceInstancePtr GetDeviceInstance(const QByteArray &deviceId) const =0
Get device instance info for the given device ID.
virtual bool SetDeviceInstanceDescription(const QByteArray &deviceId, const QString &description)=0
Set custom description for a device instance.
virtual const QByteArrayList & GetSupportedDeviceTypeIds() const =0
Get IDs of device types supported by the controller.
virtual const IDeviceStateProvider & GetDeviceStateProvider() const =0
Get provider of current device states.
virtual bool CloseDevice(const QByteArray &deviceId)=0
Close a device and stop its processing loop.
virtual DeviceAccessorPtr OpenDevice(const QByteArray &deviceId, const iprm::IParamsSet *paramsPtr)=0
Open a device and start its processing loop.
Interface for asynchronous device enumeration.
Interface for describing static information about a device type/class.
Interface for tracking device connection states.