Jactry Zeng : include: Add IDeviceWatcher interface.
Alexandre Julliard
julliard at winehq.org
Wed Nov 3 16:42:01 CDT 2021
Module: wine
Branch: master
Commit: 489cdd1932da862e27f4cf4c582f2ed951a12caa
URL: https://source.winehq.org/git/wine.git/?a=commit;h=489cdd1932da862e27f4cf4c582f2ed951a12caa
Author: Jactry Zeng <jzeng at codeweavers.com>
Date: Fri Oct 29 16:52:56 2021 +0800
include: Add IDeviceWatcher interface.
Signed-off-by: Jactry Zeng <jzeng at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/windows.devices.enumeration.idl | 50 +++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/include/windows.devices.enumeration.idl b/include/windows.devices.enumeration.idl
index 20e4df9d33d..7cde49224a1 100644
--- a/include/windows.devices.enumeration.idl
+++ b/include/windows.devices.enumeration.idl
@@ -30,6 +30,7 @@ import "windows.foundation.idl";
namespace Windows {
namespace Devices {
namespace Enumeration {
+ typedef enum DeviceWatcherStatus DeviceWatcherStatus;
typedef enum Panel Panel;
interface IDeviceInformation;
@@ -41,6 +42,7 @@ namespace Windows {
runtimeclass DeviceInformation;
runtimeclass DeviceInformationUpdate;
runtimeclass DeviceThumbnail;
+ runtimeclass DeviceWatcher;
runtimeclass EnclosureLocation;
}
}
@@ -59,6 +61,9 @@ namespace Windows
interface Windows.Foundation.Collections.IMapView<HSTRING, IInspectable *>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceInformation *>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceThumbnail *>;
+ interface Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *, IInspectable *>;
+ interface Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *, Windows.Devices.Enumeration.DeviceInformation *>;
+ interface Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *, Windows.Devices.Enumeration.DeviceInformationUpdate *>;
}
}
}
@@ -82,6 +87,16 @@ namespace Windows
namespace Windows {
namespace Devices {
namespace Enumeration {
+ enum DeviceWatcherStatus
+ {
+ Created = 0,
+ Started = 1,
+ EnumerationCompleted = 2,
+ Stopping = 3,
+ Stopped = 4,
+ Aborted = 5
+ };
+
enum Panel
{
Unknown = 0,
@@ -120,6 +135,32 @@ namespace Windows {
[propget] HRESULT Properties([out, retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable *> **value);
}
+ [
+ exclusiveto(Windows.Devices.Enumeration.DeviceWatcher),
+ uuid(c9eab97d-8f6b-4f96-a9f4-abc814e22271),
+ ]
+ interface IDeviceWatcher : IInspectable
+ {
+ [eventadd] HRESULT Added([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher*,
+ Windows.Devices.Enumeration.DeviceInformation *> *handler, [out, retval] EventRegistrationToken *token);
+ [eventremove] HRESULT Added([in] EventRegistrationToken token);
+ [eventadd] HRESULT Updated([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *,
+ Windows.Devices.Enumeration.DeviceInformationUpdate *> *handler, [out, retval] EventRegistrationToken *token);
+ [eventremove] HRESULT Updated([in] EventRegistrationToken token);
+ [eventadd] HRESULT Removed([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *,
+ Windows.Devices.Enumeration.DeviceInformationUpdate *> *handler, [out, retval] EventRegistrationToken *token);
+ [eventremove] HRESULT Removed([in] EventRegistrationToken token);
+ [eventadd] HRESULT EnumerationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *,
+ IInspectable *> *handler, [out, retval] EventRegistrationToken *token);
+ [eventremove] HRESULT EnumerationCompleted([in] EventRegistrationToken token);
+ [eventadd] HRESULT Stopped([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *,
+ IInspectable *> *handler, [out, retval] EventRegistrationToken *token);
+ [eventremove] HRESULT Stopped([in] EventRegistrationToken token);
+ [propget] HRESULT Status([out, retval] Windows.Devices.Enumeration.DeviceWatcherStatus *status);
+ HRESULT Start();
+ HRESULT Stop();
+ }
+
[
exclusiveto(Windows.Devices.Enumeration.EnclosureLocation),
uuid(42340a27-5810-459c-aabb-c65e1f813ecf)
@@ -166,6 +207,15 @@ namespace Windows {
interface Windows.Storage.Streams.IInputStream;
}
+ [
+ marshaling_behavior(agile),
+ ]
+ runtimeclass DeviceWatcher
+ {
+ [default] interface Windows.Devices.Enumeration.IDeviceWatcher;
+ interface Windows.Devices.Enumeration.IDeviceWatcher2;
+ }
+
[
marshaling_behavior(agile)
]
More information about the wine-cvs
mailing list