From: Mohamad Al-Jaf mohamadaljaf@gmail.com
--- include/Makefile.in | 1 + ...ndows.security.authentication.onlineid.idl | 67 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 include/windows.security.authentication.onlineid.idl
diff --git a/include/Makefile.in b/include/Makefile.in index f70aeb9414b..077cb9eaccf 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -857,6 +857,7 @@ SOURCES = \ windows.networking.idl \ windows.perception.spatial.idl \ windows.perception.spatial.surfaces.idl \ + windows.security.authentication.onlineid.idl \ windows.security.credentials.idl \ windows.security.credentials.ui.idl \ windows.security.cryptography.idl \ diff --git a/include/windows.security.authentication.onlineid.idl b/include/windows.security.authentication.onlineid.idl new file mode 100644 index 00000000000..dcbec66976d --- /dev/null +++ b/include/windows.security.authentication.onlineid.idl @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2024 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.system.idl"; + +namespace Windows.Security.Authentication.OnlineId { + interface IOnlineIdSystemAuthenticatorForUser; + interface IOnlineIdSystemAuthenticatorStatics; + + runtimeclass OnlineIdSystemAuthenticator; + runtimeclass OnlineIdSystemAuthenticatorForUser; + + [ + contract(Windows.Foundation.UniversalApiContract, 4.0), + exclusiveto(Windows.Security.Authentication.OnlineId.OnlineIdSystemAuthenticator), + uuid(85047792-f634-41e3-96a4-5164e902c740) + ] + interface IOnlineIdSystemAuthenticatorStatics : IInspectable + { + [propget] HRESULT Default([out, retval] Windows.Security.Authentication.OnlineId.OnlineIdSystemAuthenticatorForUser **value); + HRESULT GetForUser([in] Windows.System.User *user, [out, retval] Windows.Security.Authentication.OnlineId.OnlineIdSystemAuthenticatorForUser **value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 4.0), + marshaling_behavior(agile), + static(Windows.Security.Authentication.OnlineId.IOnlineIdSystemAuthenticatorStatics, Windows.Foundation.UniversalApiContract, 4.0), + threading(both) + ] + runtimeclass OnlineIdSystemAuthenticator + { + } + + [ + contract(Windows.Foundation.UniversalApiContract, 4.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass OnlineIdSystemAuthenticatorForUser + { + [default] interface Windows.Security.Authentication.OnlineId.IOnlineIdSystemAuthenticatorForUser; + } +}