// C++/WinRT v2.0.200609.3 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #ifndef WINRT_Windows_Foundation_1_H #define WINRT_Windows_Foundation_1_H #include "winrt/impl/Windows.Foundation.Collections.0.h" #include "winrt/impl/Windows.Foundation.0.h" WINRT_EXPORT namespace winrt::Windows::Foundation { struct __declspec(empty_bases) IAsyncAction : Windows::Foundation::IInspectable, impl::consume_t, impl::require { IAsyncAction(std::nullptr_t = nullptr) noexcept {} IAsyncAction(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; template struct __declspec(empty_bases) IAsyncActionWithProgress : Windows::Foundation::IInspectable, impl::consume_t>, impl::require, Windows::Foundation::IAsyncInfo> { static_assert(impl::has_category_v, "TProgress must be WinRT type."); IAsyncActionWithProgress(std::nullptr_t = nullptr) noexcept {} IAsyncActionWithProgress(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IAsyncInfo : Windows::Foundation::IInspectable, impl::consume_t { IAsyncInfo(std::nullptr_t = nullptr) noexcept {} IAsyncInfo(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; template struct __declspec(empty_bases) IAsyncOperationWithProgress : Windows::Foundation::IInspectable, impl::consume_t>, impl::require, Windows::Foundation::IAsyncInfo> { static_assert(impl::has_category_v, "TResult must be WinRT type."); static_assert(impl::has_category_v, "TProgress must be WinRT type."); IAsyncOperationWithProgress(std::nullptr_t = nullptr) noexcept {} IAsyncOperationWithProgress(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; template struct __declspec(empty_bases) IAsyncOperation : Windows::Foundation::IInspectable, impl::consume_t>, impl::require, Windows::Foundation::IAsyncInfo> { static_assert(impl::has_category_v, "TResult must be WinRT type."); IAsyncOperation(std::nullptr_t = nullptr) noexcept {} IAsyncOperation(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IClosable : Windows::Foundation::IInspectable, impl::consume_t { IClosable(std::nullptr_t = nullptr) noexcept {} IClosable(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IDeferral : Windows::Foundation::IInspectable, impl::consume_t, impl::require { IDeferral(std::nullptr_t = nullptr) noexcept {} IDeferral(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IDeferralFactory : Windows::Foundation::IInspectable, impl::consume_t { IDeferralFactory(std::nullptr_t = nullptr) noexcept {} IDeferralFactory(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IGetActivationFactory : Windows::Foundation::IInspectable, impl::consume_t { IGetActivationFactory(std::nullptr_t = nullptr) noexcept {} IGetActivationFactory(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IGuidHelperStatics : Windows::Foundation::IInspectable, impl::consume_t { IGuidHelperStatics(std::nullptr_t = nullptr) noexcept {} IGuidHelperStatics(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IMemoryBuffer : Windows::Foundation::IInspectable, impl::consume_t, impl::require { IMemoryBuffer(std::nullptr_t = nullptr) noexcept {} IMemoryBuffer(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IMemoryBufferFactory : Windows::Foundation::IInspectable, impl::consume_t { IMemoryBufferFactory(std::nullptr_t = nullptr) noexcept {} IMemoryBufferFactory(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IMemoryBufferReference : Windows::Foundation::IInspectable, impl::consume_t, impl::require { IMemoryBufferReference(std::nullptr_t = nullptr) noexcept {} IMemoryBufferReference(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IPropertyValue : Windows::Foundation::IInspectable, impl::consume_t { IPropertyValue(std::nullptr_t = nullptr) noexcept {} IPropertyValue(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IPropertyValueStatics : Windows::Foundation::IInspectable, impl::consume_t { IPropertyValueStatics(std::nullptr_t = nullptr) noexcept {} IPropertyValueStatics(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; template struct __declspec(empty_bases) IReferenceArray : Windows::Foundation::IInspectable, impl::consume_t>, impl::require, Windows::Foundation::IPropertyValue> { static_assert(impl::has_category_v, "T must be WinRT type."); IReferenceArray(std::nullptr_t = nullptr) noexcept {} IReferenceArray(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; template struct __declspec(empty_bases) IReference : Windows::Foundation::IInspectable, impl::consume_t>, impl::require, Windows::Foundation::IPropertyValue> { static_assert(impl::has_category_v, "T must be WinRT type."); IReference(std::nullptr_t = nullptr) noexcept {} IReference(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} IReference(T const& value) : IReference(impl::reference_traits::make(value)) { } private: IReference(IInspectable const& value) : IReference(value.as>()) { } }; struct __declspec(empty_bases) IStringable : Windows::Foundation::IInspectable, impl::consume_t { IStringable(std::nullptr_t = nullptr) noexcept {} IStringable(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IUriEscapeStatics : Windows::Foundation::IInspectable, impl::consume_t { IUriEscapeStatics(std::nullptr_t = nullptr) noexcept {} IUriEscapeStatics(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IUriRuntimeClass : Windows::Foundation::IInspectable, impl::consume_t { IUriRuntimeClass(std::nullptr_t = nullptr) noexcept {} IUriRuntimeClass(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IUriRuntimeClassFactory : Windows::Foundation::IInspectable, impl::consume_t { IUriRuntimeClassFactory(std::nullptr_t = nullptr) noexcept {} IUriRuntimeClassFactory(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IUriRuntimeClassWithAbsoluteCanonicalUri : Windows::Foundation::IInspectable, impl::consume_t { IUriRuntimeClassWithAbsoluteCanonicalUri(std::nullptr_t = nullptr) noexcept {} IUriRuntimeClassWithAbsoluteCanonicalUri(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IWwwFormUrlDecoderEntry : Windows::Foundation::IInspectable, impl::consume_t { IWwwFormUrlDecoderEntry(std::nullptr_t = nullptr) noexcept {} IWwwFormUrlDecoderEntry(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IWwwFormUrlDecoderRuntimeClass : Windows::Foundation::IInspectable, impl::consume_t, impl::require, Windows::Foundation::Collections::IVectorView> { IWwwFormUrlDecoderRuntimeClass(std::nullptr_t = nullptr) noexcept {} IWwwFormUrlDecoderRuntimeClass(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; struct __declspec(empty_bases) IWwwFormUrlDecoderRuntimeClassFactory : Windows::Foundation::IInspectable, impl::consume_t { IWwwFormUrlDecoderRuntimeClassFactory(std::nullptr_t = nullptr) noexcept {} IWwwFormUrlDecoderRuntimeClassFactory(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {} }; } #endif