From 5ff9ffb3684c8b7b42dceff446dfa2e50e3b8c67 Mon Sep 17 00:00:00 2001 From: Mohamad Al-Jaf Date: Sun, 8 Oct 2023 00:38:52 -0400 Subject: [PATCH] include: Add windows.security.credentials.ui.idl file. --- include/Makefile.in | 1 + include/windows.security.credentials.ui.idl | 91 +++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 include/windows.security.credentials.ui.idl diff --git a/include/Makefile.in b/include/Makefile.in index 5f61344324d..ef0c48ed9ef 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -855,6 +855,7 @@ SOURCES = \ windows.perception.spatial.idl \ windows.perception.spatial.surfaces.idl \ windows.security.credentials.idl \ + windows.security.credentials.ui.idl \ windows.security.cryptography.idl \ windows.security.isolation.idl \ windows.storage.fileproperties.idl \ diff --git a/include/windows.security.credentials.ui.idl b/include/windows.security.credentials.ui.idl new file mode 100644 index 00000000000..3457ea1ec33 --- /dev/null +++ b/include/windows.security.credentials.ui.idl @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2023 Mohamad Al-Jaf + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifdef __WIDL__ +#pragma winrt ns_prefix +#endif + +import "inspectable.idl"; +import "asyncinfo.idl"; +import "eventtoken.idl"; +import "windowscontracts.idl"; +import "windows.foundation.idl"; +import "windows.storage.streams.idl"; + +namespace Windows.Security.Credentials.UI { + typedef enum UserConsentVerificationResult UserConsentVerificationResult; + typedef enum UserConsentVerifierAvailability UserConsentVerifierAvailability; + + interface IUserConsentVerifierStatics; + + runtimeclass UserConsentVerifier; + + declare { + interface Windows.Foundation.AsyncOperationCompletedHandler; + interface Windows.Foundation.AsyncOperationCompletedHandler; + interface Windows.Foundation.IAsyncOperation; + interface Windows.Foundation.IAsyncOperation; + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum UserConsentVerificationResult + { + Verified = 0, + DeviceNotPresent = 1, + NotConfiguredForUser = 2, + DisabledByPolicy = 3, + DeviceBusy = 4, + RetriesExhausted = 5, + Canceled = 6, + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum UserConsentVerifierAvailability + { + Available = 0, + DeviceNotPresent = 1, + NotConfiguredForUser = 2, + DisabledByPolicy = 3, + DeviceBusy = 4, + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Security.Credentials.UI.UserConsentVerifier), + uuid(af4f3f91-564c-4ddc-b8b5-973447627c65) + ] + interface IUserConsentVerifierStatics : IInspectable + { + HRESULT CheckAvailabilityAsync([out, retval] Windows.Foundation.IAsyncOperation **result); + HRESULT RequestVerificationAsync([in] HSTRING message, [out, retval] Windows.Foundation.IAsyncOperation **result); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + marshaling_behavior(agile), + static(Windows.Security.Credentials.UI.IUserConsentVerifierStatics, Windows.Foundation.UniversalApiContract, 1.0), + threading(both) + ] + runtimeclass UserConsentVerifier + { + } +} -- 2.11.4.GIT