ImagingTools Core SDK
IDeviceEnumerator.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// ACF includes
6#include <istd/IPolymorphic.h>
7
8
9namespace imtdev
10{
11
12
73class IDeviceEnumerator: virtual public istd::IPolymorphic
74{
75public:
82 class IResultHandler: virtual public istd::IPolymorphic
83 {
84 public:
91 {
98 };
99
111 EnumerationResult result,
112 const IDeviceEnumerator* enumeratorPtr) = 0;
113 };
114
121 {
128 };
129
144 virtual StartResult StartEnumeration(IResultHandler* resultHandlerPtr) = 0;
145
155 virtual void CancelEnumeration() = 0;
156};
157
158
159} // namespace imtdev
160
161
Callback interface for receiving enumeration results.
@ ER_OK
Enumeration completed successfully.
@ ER_CANCELED
Enumeration was canceled via CancelEnumeration()
@ ER_FAILED
Enumeration failed due to an error.
virtual void OnEnumerationResult(EnumerationResult result, const IDeviceEnumerator *enumeratorPtr)=0
Process the result of device enumeration.
Interface for asynchronous device enumeration.
StartResult
Start enumeration result codes.
@ SR_OK
Enumeration started successfully.
@ SR_FAILED
Failed to start enumeration.
@ SR_PREVIOUS_ENUMERATION_NOT_FINISHED
Cannot start - previous enumeration still running.
virtual StartResult StartEnumeration(IResultHandler *resultHandlerPtr)=0
Start device enumeration process.
virtual void CancelEnumeration()=0
Cancel device enumeration process.